アプリ版:「スタンプのみでお礼する」機能のリリースについて

正規分布と対数正規分布について教えてください。統計学をかじり始めた初学者です。助けて下さい(´;ω;`)
例えば、元手1万円が正規分布に従う平均利率R・標準偏差sで増えていくとします。
そうすると、n=10年後のリターンVは自然対数eと各年でバラつくRnで書き表すと以下になるかと思います。

V= 1×e^R1 ×e^R2 ×e^R3 ×e^R4 ・・・×e^R10

ここで私の理解が間違っていなければ、 Rnは正規分布ですが、べき乗が入ったVは対数正規分布に従うのかなと理解しています。
実際、R=10%, s= 20%、Vを1万回シミュレーションした結果、

Vの標準偏差σ≒2.3, 平均値μ≒3.3 ・・・①

となり画像のように対数正規分布っぽい形になりました。
ちなみにExcelでは、e^RnをEXP(NORM.INV(RAND(),0.1,0.2)、標準偏差σはSTDEV(Vの1万回試行), 平均μはAVERAGE(Vの1万回試行)で出しました。

さて前置き長くなりましたが、ここからがわからないことです。
以下の参考URLによれば、対数正規分布に従う確率密度関数の平均値と標準偏差は以下の公式が成り立つようです。

http://valavg.com/risk-return-compound-1/
標準偏差σ= SQRT(LN((s/m)^2+1))
平均μ= LN(m)-LN((s/m)^2+1)/2
※m=1+R, LNはlogの底e、sは正規分布の標準偏差

で、この公式にm=1+R=1.1, s=0.2を代入すると、
σ=0.18, μ= 0.079 ・・・②

①≠②になってしまいます( ノД`)

これはエクセルによる数値計算の結果①と、公式計算の結果②が全然異なるということなので、どこかを根本的に勘違いしていると思いますが、何をやらかしているのかわかりません。

教えてください!!
よろしくお願いします。

「正規分布について教えてください!エクセル」の質問画像

A 回答 (7件)

V= 1×e^R1 ×e^R2 ×e^R3 ×e^R4 ・・・×e^R10


は違うんじゃないですか?

毎年、平均利率R・標準偏差sの正規分布に従う利率で増えていくとすると、
V= 1 ×(1+R1) ×(1+R2) ×(1+R3) ×(1+R4) ×(1+R5) ×(1+R6) ×(1+R7) ×(1+R8) ×(1+R9) ×(1+R10)
ただし R1, R2, R3, R4, R5, R6, R7, R8, R9, R10 は N(R,s^2) に従う
...になるはずです。

指数関数が現れる理由がない。
    • good
    • 0

#5です。



正規乱数の作り方がおかしいのではないでしょうか。と書きましたが、
NORM.INV(RAND(),0.1,0.2)という作り方は合っていました。でも、

V= 1×e^R1 ×e^R2 ×e^R3 ×e^R4 ・・・×e^R10
この式はおかしいですよね。

正しくは、

Ri=NORM.INV(RAND(),1.1,0.2)で(利率+1)を作って、

V= 1×R1 ×R2 ×R3 ×R4 ・・・×R10

でリターンVが出ます。これを1万回やればリターンVの分布が出ます。
これが非対称分布になるので、1万個のVの対数を取って対数正規分布に直します。その平均や標準偏差を調べれば良いと思います。

ただし、計算上、同じ利率が10回使用されてしまわないように、面倒でも、こまごまと式を書かなければなりません。私はforループで回しています。
    • good
    • 1

#4です。



私のシミュレーション結果が合っているかどうかの確認として、シミュレーションで得られた平均値μ≒2.6の10乗根を取って1を引いたところ、
> mean(V)^(1 / 10) - 1
[1] 0.09918868
となり、1年分の利息0.1にほぼ等しかったです。

ご質問者様は3.3になったとのことですので、この検算を行うとシミュレーションは間違いだったと分かります。

分布形は合っていますので、正規乱数の作り方がおかしいのではないでしょうか。
    • good
    • 0

#1です。



回答を間違えた責任を感じ、懺悔のつもりでシミュレーションをやってみました。そしたら、ご質問者さんの間違いに気づきました。
換算する年数を間違えています。

ご質問者が示された数値の、
・Vの標準偏差σ≒2.3, 平均値μ≒3.3 は10年分(しかし、このシミュレーション値は間違いでした)
・σ=0.18, μ= 0.079 は1年分です(これは合っていました)

実際のシミュレーション結果を以下に示します(R言語です)。
結果は、
10年分の利息は(ただし、ご質問者様に合わせる為、1は引いていません)
・Vの標準偏差σ≒1.6, 平均値μ≒2.6 (10年後)
この1万個の結果を全て自然対数に直すと、
・Vの標準偏差σ≒0.6, 平均値μ≒0.77 (10年分)
これを1年分に換算すると(標準偏差は分散の加法性から換算)
・Vの標準偏差σ≒0.19, 平均値μ≒0.077

となり、ご質問者が計算された理論値とほぼ一致しました。


> # 10年利息のシミュレーション
>
> r <- 0.1
> s <- 0.2
>
> V <- NULL
> i <- 0
> while(i < 10000){
+ V1 <- 1
+ for(j in 1:10){
+ V1 <- V1 * rnorm(1, (r + 1), s)
+ }
+ V <- append(V, V1)
+ i <- i + 1
+ }
>
> par(mfrow = c(2, 1))
> hist(V, breaks = 30, las = 1)
> abline(v = mean(V))
> hist(log(V), breaks = 20, las = 1)
> abline(v = mean(log(V)))
>
> mean(V)
[1] 2.574675
> sd(V)
[1] 1.606537
>
> mean(log(V))
[1] 0.7707654
> sd(log(V))
[1] 0.6011561
>
> mean(V)^(1 / 10) - 1
[1] 0.09918868
>
> mean(log(V)) / 10
[1] 0.07707654
> sqrt(var(log(V)) / 10)
[1] 0.1901023
「正規分布について教えてください!エクセル」の回答画像4
    • good
    • 0

#1です。



すみません。参考URLの見るべき箇所を間違えていました。

私の回答は削除できないので、無視して下さい。
    • good
    • 0

#1です。



表中の矢印は、常用対数を使うときのSはこちら、ということを示しているだけですので、無視して下さい。
    • good
    • 0

企業で統計を推進する立場の者です。



参考URLの公式に、m=1.1、s=0.2 を代入されたそうですが、それは間違いです。mやsは対数正規分布の平均、標準偏差でなければなりません。

両者の分布間のパラメータの換算式を示した表(社内教育資料)を添付します。

もしm=1.1、s=0.2 を代入して対数正規分布のパラメータ理論値を求め、シミュレーション結果と比較するのであれば、一番左の式に代入して下さい。ただし、面倒なことに、一旦左下の式でSを求めてから、左上の式でEを求めることになります。

ちなみに参考URLの式は、一番右と同じです。

【表】対数化する前の平均μ、標準偏差σと、対数正規分布の平均E、標準偏差Sの関係
「正規分布について教えてください!エクセル」の回答画像1
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!