単回帰分析

 回帰分析にはrstatixパッケージを使いません。10m歩行の方向速度(gait)を目的変数、1日活動量(1日の歩数; steps)を説明変数にした単回帰分析を行います。

gait

steps

1

7938

0.96

6172

1.03

9653

中略

中略

0.96

8783

1.48

8861

1.42

9292


回帰分析のコードは以下の通りです。

> model1<-lm(gait ~ steps, data = data1)
> model1 |> summary()

Call:
lm(formula = gait ~ steps, data = data1)

Residuals:
     Min       1Q   Median       3Q      Max 
-0.44208 -0.23944  0.00866  0.19000  0.47315 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) 2.659e-01  2.306e-01   1.153 0.253635    
steps       1.137e-04  2.815e-05   4.041 0.000159 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.2543 on 58 degrees of freedom
Multiple R-squared:  0.2197,	Adjusted R-squared:  0.2062 
F-statistic: 16.33 on 1 and 58 DF,  p-value: 0.0001589

model1という名前を付けてコードを記載しました。lm()関数を使い、モデルの構造と対象データを指定します。目的変数と説明変数は ~ で結びます。すなわちgait ~ stepsとなります。そして、, で区切ってデータの名前を指定します。

model1の結果をsummary()関数で出力します。

model1をパイプ演算子でsummary()関数とつなぎます。summary()関数を用いることで、モデルの詳細を表示できます。summary(model1)としても同様にモデルの詳細 を表示できます。

結果です。Coefficients:を確認します。Estimateは回帰係数、Std. Errorは標準誤差、t valueがt値で、Prがp値です。ただし、InterceptのEstimateは回帰係数ではなく、切片の値です。これらの結果から以下のモデル式が導かれます。

gait(10m歩行速度) =  0.0001137 × steps(1日の歩数) + 0.2659

ここから、1歩歩数がふえると0.0001137m/秒歩行速度が速くなることが理解できます。つまり、1000歩増えると、0.137m/秒速くなることわけです。10m歩行の平均的な速度が1.4m/秒であることを考慮するとそれなりに影響する、ということが言えそうです。また、有意水準を5%と設定した場合、回帰係数は有意ということになります。これは、回帰係数=0という、帰無仮説は棄却されたことを意味します。調整済み決定係数はおよそ0.2でした。そしてf統計量に対して、p値は有意水準未満となっていました。モデルとしても有意と言えそうです。


コメント