关于线性模型和混合线性模型 R语言 (自用)

本文介绍了如何在R语言中使用线性模型和线性混合效果模型进行数据分析,以探究性别对音高影响为例。通过lm()函数构建模型,分析R-squared、p_value和Coefficients表中的信息。同时,讨论了线性回归模型的假设,包括线性关系、误差项正态分布等,并展示了数据可视化验证过程。
摘要由CSDN通过智能技术生成

文章引用 Linear models and linear mixed effects models in R with linguistic applications 

https://doi.org/10.48550/arXiv.1308.5499

Part 1: Linear modeling(线性模型)

探究性别对音高的影响

性别是自变量/解释变量/固定效应(fixed effect)   下文均用固定效应表示自变量

1.先创建关于性别和音高的数据框

pitch <- c(233,204,242,130,112,142)
sex <- c(rep("female",3),rep("male",3))
my_df <- data.frame(sex,pitch)
my_df

结果为

> my_df
     sex pitch
1 female   233
2 female   204
3 female   242
4   male   130
5   male   112
6   male   142

2.用lm()函数构建性别和音高之间的线性回归模型

xmdl <- lm(pitch~sex,my_df)
summary(xmdl)

summary() 输出整理好的结果

结果为

Call:
lm(formula = pitch ~ sex, data = my_df)

Residuals:
      1       2       3       4       5       6 
  6.667 -22.333  15.667   2.000 -16.000  14.000 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)
(Intercept)   226.33      10.18  22.224 2.43e-05
sexmale       -98.33      14.40  -6.827  0.00241
               
(Intercept) ***
sexmale     ** 
---
Signif. codes:  
0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 17.64 on 4 degrees of freedom
Multiple R-squared:  0.921,	Adjusted R-squared:  0.9012 
F-statistic: 46.61 on 1 and 4 DF,  p-value: 0.002407

3.结果解释:

①R-squared

Multiple R-squared:  0.921   性别可以解释92.1%的音高变异

Adjusted R-squared(调整R方):  0.9012   

固定效应增多的情况下(age, psychological traits, dialect etc), Adjusted R-squared可能会降低

一元线性回归,则使用 R-squared评估,多变量,则使用adjusted R-squared。

增加更多无意义的变量,则 R-squared 和adjusted R-squared之间的差距会越来越大,Adjusted R-squared会下降。但是如果加入的显著的变量,adjusted R-squared 也会上升。

p_value

在单变量线性模型中 总模型的p_value=0.002407   与 Coefficients表中的p值相同

但在多变量线性模型中,总模型的p值与 Coefficients表中的p值不同,Coefficients表中的p值表示各个固定效应所对应的p值

③Coefficients表中sexmale 的原因

计算女性音高平均值和男性音高平均值

####计算female_mean和male_mean 的两种方法  
filter() 用于筛选列   %>%管道符 Ctrl + Shift + M 快捷键产生 

mean(my_df[my_df$sex=="female",]$pitch)
mean(my_df[my_df$sex=="male",]$pitch)

my_df %>% filter(sex=="female") %>%summarise(female_mean=mean(pitch))
my_df %>% filter(sex=="male") %>% summarise(male_mean=mean(pitch))

结果

  female_mean
1    226.3333

male_mean
1       128

女性音高平均值-男性音高平均值=98.33   

Coefficients表中Intercept(截距)的Estimate(估计值) 表示女性音高的平均值

sexmale 的Estimate(估计值)表示不同性别下音高的变化

4.线性回归满足的假设

(1) Linearity(线性关系假设)

检验方法:可视化预测值与残差之间的关系——随机

###探究年龄(连续变量)对音高的影响
age <- c(14,23,35,48,52,67)
pitch <- c(252,244,240,233,212,204)
my.df <- data.frame(age,pitch)

xmdl <- lm(pitch~age,my.df)
summary(xmdl)

###绘制预测值与残差的散点图
plot(fitted(xmdl
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值