人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

統計・数列で以下のような傾向を抜き出したいと考えています。
(数学・統計の専門知識はなく申し訳ありません。)

+をプラス値、-をマイナス値としたとき、
以下の3つの数列があるとします。
※数列の順は時系列になっていて入れ替えられません

(A)
- - - - - - - - - - - - - -

(B)
+ + + + - + + - + + + + + +

(C)
+ - + - + - + - - + + - - +


上記のようなデータがあったとき、

(A)がもっとも大きく、次に(B)、(C)がもっとも小さい

そういった指数を算出できるような式または算出方法、
それが難しい場合概念・統計用語だけでもお教えください。


データが0を閾値として、
プラスとマイナスを逆の性質があるものとして取り扱い、

・片方にプラスかマイナスどちらかに、
連続的に生ずるような傾向にあるとき指数が高くなる。

・データがプラスとマイナスを交互になるような
傾向が強くなるとき指数が低くなるようなもの

このようなものを考えております。
指数の高い低いは逆転していてもかまいません。

より具体的な内容、より簡単な説明(外部サイトでもかまわない)を
してくださった方にポイントを配布いたします。

●質問者: happy1980
●カテゴリ:科学・統計資料
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● cdaotg
●300ポイント ベストアンサー

時刻tと時刻t+1の差分に着目して、以下の様に処理してはどうでしょうか?

1. 前処理
「+の値を+1に、-の値を-1に変換する」
例:+,+,+,-,+,+,+,+,-,+ を +1,+1,+1,-1,+1,+1,+1,+1,-1,+1 に。

2. 各時刻ごとの差分を計算
「時刻tと時刻t+1の差の絶対値を2で割った値を計算する」
例:+1,+1,+1,-1,+1,+1,+1,+1,-1,+1 から 0,0,0,1,1,0,0,1,1 に。

3. 差分の平均値を計算
「2.で求めた数列の平均を計算する」
例:0,0,0,1,1,0,0,1,1 を 0.4444 に。

数式で書くと、下記の通りとなります。
なお、tを時刻、Tをデータの数、a(t)を時刻tでの前処理後の値、abs(x)xの絶対値を返す関数とします。

f(x)=¥frac{1}{T}¥sum_{t=1}^{T-1} ¥frac{abs(a(t)-a(t+1))}{2}

f(x)は「同じデータが連続する傾向が高いほど、f(x)は小さくなる」関数になります。
全部のデータが同じ符号なら0に、各時刻ごとにデータの符号が入れ替わるなら1になります。


cdaotgさんのコメント
すいません、長々と書いてしまいましたが、要するにf(x)は「時刻tとt+1で符号が入れ替わる割合」です。 最初からそうやって一言書けば良かったですね。

happy1980さんのコメント
大変明快かつ丁寧にありがとうございます。一読しただけですっと理解できました。 ここまで簡単にかけるとは、ご説明いただければすぐわかりましたが、自分では難しく考えすぎていたようです。差の絶対値または二乗の累積(のルート)を期間で割って平均をだせば良さそうですね。このアイディアを元に、より発展的な方向に持っていけそうです。 3の平均値を出すというところが、特に指数化する上で良さそうなアイディアとしてよさそうです。 このたびはお時間を割いていただいてありがとうございました!

cdaotgさんのコメント
ベストアンサーを頂きまして、ありがとうございます。 3.の平均値ですが、単純平均ではなく加重平均や移動平均を取れば別に指数化が出来そうですね。 こういう統計手法を考えるのは楽しいので、こちらとしても有意義な時間でした!
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ