読者です 読者をやめる 読者になる 読者になる

GeoJackass

ちゃらんぽらんの絶対領域は、是を頑なに堅持

pythonとRによる時系列解析の練習-その3-

目的

統計学のとても基本的な概念のおさらいと、基本的な時系列解析に関しての復習を行うこと
当時はRで学習していたのだが、Rの新しいラブラリや、pythonのpandasやmatpltlibに関して、もうちょっと慣れること

手段

pythonによるデータ解析入門とRによる時系列分析入門とRクックブックを用いる

単回帰分析を超真面目に再考する

大別すると決定論的モデルと、確率モデルになる。今回の場合は、株価のデータを使用しているので、原因となる変数xを与えても結果となる変数yを一意には定めないとの前提をおく。

  • 直線的関係の確率モデル

\( Y(j) = \alpha + \beta \times X_{j} + u_{j}, {\hspace{5mm}} u_{j} \sim N, {\hspace{5mm}} j=1,2,\cdots,n \)

  • Dataの読み込みから、線形回帰
data <- read.csv('stock_px.csv')
xom <- data$XOM
msft <- data$MSFT
regr <- lm(xom ~ msft)
  • summaryの読み方
>summary(regr)

Call:
lm(formula = xom ~ msft)

Residuals:
    Min      1Q  Median      3Q     Max 
-27.435 -10.974  -0.954   9.406  38.121 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) -14.9952     2.1000   -7.14 1.26e-12 ***
msft          3.1135     0.0869   35.83  < 2e-16 ***
---
Signif. codes:  0***0.001**0.01*0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 13.31 on 2212 degrees of freedom
Multiple R-squared:  0.3672,    Adjusted R-squared:  0.3669 
F-statistic:  1284 on 1 and 2212 DF,  p-value: < 2.2e-16
  • Estimateはパラメータの推定値
  • Std. Errorは回帰係数の標準誤差
  • t valueは \(T_{0}\) (t-値)
  • Multiple R-squared: は直線の当てはまりの良さの指標 今回の場合 0.3672

  • confint(モデル係数の信頼区間)はデフォルトで95%の信頼水準を使用する。第2引数にlevelを指定してもよい。

> confint(regr)
                 2.5 %     97.5 %
(Intercept) -19.113386 -10.876946
msft          2.943073   3.283906

> confint(regr, level=0.99)
                 0.5 %    99.5 %
(Intercept) -20.409134 -9.581198
msft          2.889453  3.337526

単回帰分析のRのコードをガチで実装してみる

15から40まで、刻み込み幅0.5のxの値xhを作成して、p=0.9の信頼区間で予測区間の推定を行う。

xh <- seq(15, 40, by=0.5)
single_regr(regr, xh, 0.9)

結果

分かっていたとはいえ、Rの標準のプロットダサすぎるだろ...