- ベストアンサー
正規乱数から生成される時系列の自己相関について
平均0、分散0.004の正規乱数を使って時系列を作ります。 イメージとしては株価収益の時系列なんかが当てはまります。 その時系列の自己相関を計測してみました。ラグは1です。 例えば(t,t+1,t+2,t+3,t+4)と、(t+1,t+2,t+3,t+4,t+5)の自己相関などなど。 そうすると、自己相関の計測期間を短くするほど平均がマイナスによる傾向があるのですが、 これには何か理由があるのでしょうか? 正規分布からの乱数ということで、イメージ的には、 同じ方向へ行くも、逆転するも確率的には一緒なのかなという感じなのですが。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
理論的には、正規乱数の時系列の自己相関は異時点では厳密に0なので、 >自己相関の計測期間を短くするほど平均がマイナスによる傾向があるのですが、 この結果はおかしいです。考えられる原因(と対策)を列挙すると、 1.プログラムのバグ 正規乱数をどうやって生成してますか? C++等を使っているのか、excelなのか等々 2.乱数生成コードの問題 できればメルセンヌツイスタを使いましょう。 excelやC++のrand()は精度が悪いみたいです。 3.サンプル数が少なすぎる。 サンプル数を増やしても状況は変わりませんか? 4.分散が小さすぎる 分散を大きくしても状況は変わりませんか? floatを使っている等、浮動小数点の桁数が小さすぎるのかもしれません。
お礼
回答ありがとうございます。 そうですよね。自己相関は0、というのが教科書には載っているのですが、0にならず、 しかもマイナスばかりに偏るので不思議でした。 正規乱数はエクセルのNORMINVで生成しています。 実はプログラミングに関しては初心者で、大学の授業で少しかじった程度だったので、 乱数についての知識が不足してました。 疑似乱数の使い方がなってなかったようです。 対策まで書いていただき感謝です。 色々調べてみたいと思います。 ありがとうございました。