2017-06-17 9 views
1

を解決するために、次のデータ生成プロセスから生成された100の長さの2つの時系列を生成する方法:使用Rモンテカルロシミュレーションを行うと、私の質問は以下の質問

xt = xt−1 + et, 
yt = yt−1 + ut, 

etutがあります相互に独立した標準法線のiidシリーズ。インターセプトを含むxtytの回帰では、傾き係数αがゼロであり公称サイズが5%であるという帰無仮説を棄却する確率をシミュレートします。

  1. アルファ= 0,0.5,0.9,0.95,0.99の異なる値についてシミュレーションを行います。
  2. 結果を議論してください。アルファ値が変化すると、拒絶確率はどのように変化するのですか?

私の考えは、私がXに回帰yを行うとアルファの値を格納し、1000倍のため、上記の手順を繰り返して、見つけた後

y <- arima.sim(100,model=list(ar=0)) 
x <- arima.sim(100,model=list(ar=0)) 

をコーディングすることにより、2つの有馬シリーズを生成することですアルファの分布。 しかし、私の問題は、次のとおりです。

  1. 私はR、希望の新しい学習者だか1000倍

のための回帰を繰り返すアルファ

  • の値を格納する方法がわかりません誰かがRコードを書くことでこの問題を解決する方法を教えてくれるでしょう。ありがとう!

  • 答えて

    1

    tidyverseソリューション:

    library(dplyr) 
    library(broom) 
    library(purrr) 
    library(ggplot2) 
    
    # define a function the returns the alpha -- its point estimate, standard error, etc. -- from the OLS 
    iteration <- function() { 
        y <- arima.sim(100,model=list(ar=0)) 
        x <- arima.sim(100,model=list(ar=0)) 
        lm(y~x) %>% 
        broom::tidy() %>% 
        filter(term == 'x') 
    } 
    
    # 1000 iterations of the above simulation 
    alphas <- map_df(1:1000, ~iteration()) 
    
    # plot the results 
    alphas %>% 
        ggplot(aes(estimate)) + geom_density() 
    
    +0

    ありがとう!これはまさに私が欲しいものです!私は正常に推定されたアルファの密度プロットを描きます。しかし、私は、各アルファ値の拒絶の可能性をどのように計算するのか分かりません。あなたはRを使って拒絶の可能性を数える方法を知っていますか?あるいは、この密度関数の詳細な情報をどのようにリストアップできますか? – Mandy