关于数据挖掘:R语言结构方程模型-SEM-多元回归和模型诊断分析学生测试成绩数据与可视化

54次阅读

共计 2897 个字符,预计需要花费 8 分钟才能阅读完成。

原文链接:http://tecdat.cn/?p=24694

本文首先展现了如何将数据导入 R。而后,生成相关矩阵,而后进行两个预测变量回归剖析。最初,展现了如何将矩阵输入为内部文件并将其用于回归。

数据输出和清理

首先,咱们将加载所需的包。

library(dplyr) #用于清理数据
library(Hmisc) #相关系数的显着性

而后,咱们将应用 Fortran 读入数据文件并略微清理数据文件。

# 确保将您的工作目录设置为文件所在的地位
# 位于,例如 setwd('D:/ 下载) 您能够在 R Studio 中通过转到
# 会话菜单 - '设置工作目录' - 到源文件

# 抉择数据的一个子集进行剖析,存储在新的
# 数据框
sub <- subset(des,case < 21 & case != 9)# != 示意不等于

#让咱们看看数据文件
sub #留神 R 将原始数据中的空白单元格视为缺失,并将这些状况标记为 NA。NA 是默认值

# 应用 dplyr 对特定测试进行子集化
select(sub, c(T1, T2, T4))


# 应用 psych 包获取形容

请留神,R 将原始数据中的空白单元格视为缺失,并将这些状况标记为 NA。NA 是 R 实现的默认缺失数据标签。

创立和导出相关矩阵

当初,咱们将创立一个相关矩阵,并向您展现如何将相关矩阵导出到内部文件。请留神,创立的第一个相关矩阵应用选项“pairwise”,该选项对缺失数据执行成对删除。这通常是不可取的,因为它删除了变量,而不是整个案例,因而可能会使参数估计产生偏差。第二个选项,“complete”,对缺失数据施行列表删除,这比成对删除更可取,因为参数估计偏差较小(删除整个案例,而不仅仅是特定变量)。

# 在变量之间创立一个相关矩阵
 cor <- cor( "pairwise.complete.obs",
 cor #相关矩阵

rcorr(test)   # 相关性的显著性

# 将相关矩阵保留到文件中
write.csv(cor, "PW.csv")
cor(test, method = "pear")
cor #留神咱们应用列表删除时的差别

# 将相关矩阵保留到硬盘上的文件中
write.csv(cor, "cor.csv")

多元回归

当初,咱们将做一些多元回归。具体来说,咱们将查看测试 1 和 2 是否预测测试 4。咱们还将查看一些模型假如,包含是否存在异样值以及测验之间是否存在多重共线性(方差收缩因子或 VIF)。其中一些代码可帮忙您将残差、预测值和其余案例诊断保留到数据帧中以供当前查看。请留神,lm 命令默认为按列表删除。

summary(model)

# 将拟合值和预测值保留到数据框
 Predicted  

# 保留个案诊断(异样值)hatvalues(model)
 
 
# 多重共线性测验
vif(model)

 vcov(ol) #保留系数的方差协方差矩阵
cov(gdest) #保留原始数据的协方差矩阵

模型后果及其含意:

  1. 多重 R 平方 告诉您在给定模型中自变量的线性组合的状况下预测或解释的因变量的方差比例。
  2. 调整后的 R 平方 告诉您总体水平 R 平方值的估计值。
  3. 残差标准误差  告诉您 残差 的均匀标准偏差(原始度量)。如果平方是均方误差 (MSE),则蕴含在残差旁边的方差分析表中。
  4. F 统计量之后的显着性项 提供了针对没有预测变量的仅截距模型的综合测验(您的模型是否比仅平均值更好地预测您的后果?)
  5. 方差分析表 Mean Sq 残差的方差
  6. 方差收缩因子 告诉您模型中的预测变量之间是否存在多重共线性。通常大于 10 的数字示意存在问题。越低越好。
  7. 影响度量 提供了许多个案诊断。在此输入中,相应的列编号按各自的程序示意:截距的 dfbeta、X1 的 dfbeta、x2 的 dfbeta、dffits(全局影响,或 Yhat(预测的 Y)基于案例的删除而扭转了多少)、协方差比率(通过删除此察看值,预计的协方差矩阵的行列式的变动),库克的间隔(影响),杠杆率(就独立预测变量的值而言,察看值有多不寻常?),显着性测验标记着案例作为潜在的异样值。请留神,发现异常值的一种办法是寻找超出均值 2 个标准差以上的残差(均值始终为 0)。

接下来,让咱们绘制一些模型图。

# 制作模型的图表
plot(T4 ~ T1, data =test)

绿线示意线性最佳拟合,而红线示意 LOESS(部分加权回归)_拟合。红色虚线示意 LOESS(部分加权回归)_平滑拟合线的 +-1 标准误差。第一个散点图命令的额定参数标记每个数据点以帮忙辨认异样值。留神第二个图,如果残差是正态分布的,咱们会有一条平坦的线而不是一条曲线。

应用多元回归来显示系数如何是残差的函数

当初,让咱们看看系数是如何作为残差的函数的。咱们将从之前的回归中构建 T1 的系数。首先,咱们将创立 T4(规范)的残差,管制 T1 以外的预测变量。


 residuals(mot4) #将残差保留在原始数据框中

接下来,咱们为 T1(预测变量)创立残差,管制 T1 以外的预测变量。咱们在 T2 上回归 T1,失去 Y=b0+b1T2,其中 Y 是 T1。残差是所有与 T2 无关的货色。

当初咱们应用 T4 运行回归,将所有 T2 作为 DV 删除,T1 将所有 T2 作为自变量删除。

anova

summary(modf) #模型后果

请留神,该回归系数与先前的两个预测器回归中的系数雷同。接下来,咱们将运行另一个以案例为 DV 的回归。咱们将创立一个新的图表,以显示杠杆率只取决于预测因素而不是因变量。

 

anova(modeage)

summary(modage)

plot(lev ~ cae, data = grb)

请留神,在 SEM 中,没有简略的间隔或杠杆措施,但咱们能够失去杠杆,因为它与 DV 是离开的。如果咱们能找出一个极其的案例,咱们在有和没有这个案例的状况下进行剖析,以确定其影响。输入的变动将是对杠杆的测试。

 

当初咱们制作测试之间关系的 3d 散点图。

plot(T1,T2, T4, 
3d(model)  #应用咱们先前的模型来绘制一个回归立体

应用相关矩阵的多元回归

当初咱们将展现如何仅应用相关矩阵进行回归。如果你想对提供相干和 / 或协方差矩阵的现有论文做额定的剖析,但你无奈取得这些论文的原始数据,那么这就十分有用。

# 从你电脑上的文件中调入相关矩阵。read.csv("cor.csv")
data.matrix(oaw) #从数据框架到矩阵的变动

#用相关矩阵做回归,没有原始数据
mdeor


最受欢迎的见解

1.R 语言多元 Logistic 逻辑回归 利用案例

2. 面板平滑转移回归 (PSTR) 剖析案例实现剖析案例实现 ”)

3.matlab 中的偏最小二乘回归(PLSR)和主成分回归(PCR)

4.R 语言泊松 Poisson 回归模型剖析案例

5.R 语言混合效应逻辑回归 Logistic 模型剖析肺癌

6.r 语言中对 LASSO 回归,Ridge 岭回归和 Elastic Net 模型实现

7.R 语言逻辑回归、Naive Bayes 贝叶斯、决策树、随机森林算法预测心脏病

8.python 用线性回归预测股票价格

9.R 语言用逻辑回归、决策树和随机森林对信贷数据集进行分类预测

正文完
 0