统计比较R中的线性回归

时间:2018-02-08 04:01:29

标签: r statistics

我想比较在三个地点收集的回归模型,看看地点是否有所作为。

考虑一些玩具数据:

mydata <- read.table(header=TRUE, text="
location    height  weight
    spain   178 90
    spain   187 80
    spain   155 70
    spain   187 85
    spain   150 60
    spain   155 73
    spain   168 80
    spain   160 75
    spain   177 77
    spain   178 83
    russia  165 60
    russia  161 55
    russia  187 94
    russia  175 77
    russia  170 70
    russia  181 90
    russia  173 72
    russia  163 58
    russia  177 80
    russia  167 67
    peru    177 75
    peru    182 65
    peru    145 55
    peru    176 70
    peru    150 45
    peru    155 58
    peru    168 65
    peru    160 60
    peru    177 62
    peru    178 68
        ")

我知道我可以使用ANOVA等来查看身高或体重是否存在治疗(即国家)差异但是我不确定我是否可以明确地为REGRESSIONS做这个(即两者之间的关系是否存在差异)不同国家的身高和体重)。对于这个例子,我想假设体重是身高的函数。

如果你为每个国家产生一个回归,你会发现西班牙和秘鲁有一个相似的斜率但截距不同,而俄罗斯有更陡峭的斜率和截距。我怎样才能正式测试这个(理想情况下有显着性值等)?

提前感谢 - 并为我明显不充分的统计背景道歉。

3 个答案:

答案 0 :(得分:3)

通常我会在模型中包含一个交互项:

lm(weight~height*location, mydata)

如果相互作用系数很大,则有证据表明不同位置的斜率可能不同。您仍然可以使用ANOVA进行整体测试。

答案 1 :(得分:2)

我认为Chow Test可能合适吗?

它看起来像是在gap包中实现的。

library('gap')
mydata <- read.table(header=TRUE, text="
   location    height  weight
   spain   178 90
   spain   187 80
   spain   155 70
   spain   187 85
   spain   150 60
   spain   155 73
   spain   168 80
   spain   160 75
   spain   177 77
   spain   178 83
   russia  165 60
   russia  161 55
   russia  187 94
   russia  175 77
   russia  170 70
   russia  181 90
   russia  173 72
   russia  163 58
   russia  177 80
   russia  167 67
   peru    177 75
   peru    182 65
   peru    145 55
   peru    176 70
   peru    150 45
   peru    155 58
   peru    168 65
   peru    160 60
   peru    177 62
   peru    178 68
   ")

y1 <- subset(mydata, location=='spain')$weight
y2 <- subset(mydata, location=='peru')$weight
x1 <- subset(mydata, location=='spain')$height
x2 <- subset(mydata, location=='peru')$height

chow.test(y1, x1, y2, x2)

     F value        d.f.1        d.f.2      P value 
1.701350e+01 2.000000e+00 1.600000e+01 1.094774e-04 

小P值似乎表明西班牙和秘鲁实际上最好由不同的模型提供服务......

答案 2 :(得分:2)

我只想在前一个答案中添加一点&#34; lm(weight~height * location,mydata)&#34;。谈到回归,我想到了ANOVA。因此,如果您在上一个答案中添加ANOVA,那么:

anova(lm(weight~height*location, mydata))

Analysis of Variance Table

Response: weight
                Df  Sum Sq Mean Sq F value    Pr(>F)    
height           1 2103.80 2103.80 109.738 1.969e-10 ***
location         2  859.82  429.91  22.425 3.219e-06 ***
height:location  2  585.24  292.62  15.264 5.286e-05 ***
Residuals       24  460.11   19.17                      
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

所以Pr(> F)会告诉你差异何时显着,我们全面了解。

在运行ANOVA之前,您必须检查方差和正态性的假设