私の質問は、別の質問のコメントでの@whuberとの議論から生まれました。
具体的には、@ whuberのコメントは次のとおりです。
驚くかもしれない理由の1つは、相関テストと回帰スロープテストの基礎となる仮定が異なることです。そのため、相関とスロープが実際に同じものを測定していることを理解したとしても、なぜそれらのp値は同じである必要があるのでしょうか?これは、これらの問題が単にとが数値的に等しいかどうかよりも深くなることを示しています。
これは私の考えを得て、私はさまざまな興味深い答えに出くわしました。たとえば、「相関係数の仮定」という質問を見つけましたが、上記のコメントがどのように明確になるかわかりません。
ピアソンのと傾きの関係について、単純な線形回帰でもっと面白い答えを見つけました(こことここを例に参照)私に)。
質問1:相関テストと回帰スロープテストの基礎となる仮定は何ですか?
2番目の質問では、次の出力を検討してR
ください。
model <- lm(Employed ~ Population, data = longley)
summary(model)
Call:
lm(formula = Employed ~ Population, data = longley)
Residuals:
Min 1Q Median 3Q Max
-1.4362 -0.9740 0.2021 0.5531 1.9048
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 8.3807 4.4224 1.895 0.0789 .
Population 0.4849 0.0376 12.896 3.69e-09 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 1.013 on 14 degrees of freedom
Multiple R-squared: 0.9224, Adjusted R-squared: 0.9168
F-statistic: 166.3 on 1 and 14 DF, p-value: 3.693e-09
そして、cor.test()
関数の出力:
with(longley, cor.test(Population, Employed))
Pearson's product-moment correlation
data: Population and Employed
t = 12.8956, df = 14, p-value = 3.693e-09
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
0.8869236 0.9864676
sample estimates:
cor
0.9603906
出力lm()
とcov.test()
出力からわかるように、ピアソンの相関係数と勾配推定値()はそれぞれ大きく異なり、それぞれ0.96と0.485ですが、t値とp値は同じです。
次に、とが異なるにもかかわらず、とのt値を計算できるかどう確認しようとしました。そして、少なくともの場合は、ここで行き詰まります。
と平方和の合計を使用して、単純な線形回帰で勾配()を計算します。
x <- longley$Population; y <- longley$Employed
xbar <- mean(x); ybar <- mean(y)
ss.x <- sum((x-xbar)^2)
ss.y <- sum((y-ybar)^2)
ss.xy <- sum((x-xbar)*(y-ybar))
回帰勾配の最小二乗推定値計算し(これについては、CrawleyのR Book第1版、393ページに証明があります)。
b1 <- ss.xy/ss.x
b1
# [1] 0.4848781
計算のための標準誤差:
ss.residual <- sum((y-model$fitted)^2)
n <- length(x) # SAMPLE SIZE
k <- length(model$coef) # NUMBER OF MODEL PARAMETER (i.e. b0 and b1)
df.residual <- n-k
ms.residual <- ss.residual/df.residual # RESIDUAL MEAN SQUARE
se.b1 <- sqrt(ms.residual/ss.x)
se.b1
# [1] 0.03760029
そして、のためのt値とp値:
t.b1 <- b1/se.b1
p.b1 <- 2*pt(-abs(t.b1), df=n-2)
t.b1
# [1] 12.89559
p.b1
# [1] 3.693245e-09
私はこの時点では分からない、とこれは何問2、使用して、同じt値を計算する方法であり、代わりにβ 1(おそらく赤ちゃん-段階で)?
私は以来仮定するcor.test()
の代替仮説がいるかどうかである真の相関が 0に等しくない(参照cor.test()
上記の出力)を、Iは、ピアソン相関係数のような期待と同様( 『ピアソン相関係数の標準誤差』で除算し上記)?! しかし、その標準エラーはどのようなもので、なぜでしょうか?b1/se.b1
たぶん、これは相関テストと回帰スロープテストの基礎となる前述の仮定と関係があるのでしょうか?!
編集(2017年7月27日):@whuberは質問1(および部分的に質問2、彼の答えの下のコメントを参照)について非常に詳細な説明を提供しましたが、さらに掘り下げて、これら2つの投稿(こことここ)が行うことを発見しましたrの特定の標準エラーを表示します。これは、質問2に答えるのによく機能します。つまり、rを指定してt値を再現します。
r <- 0.9603906
# n <- 16
r.se <- sqrt((1-r^2)/(n-2))
r/r.se
# [1] 12.8956