人工智能R语言结构方程模型SEM路径分析房价和犯罪率数据预测智力影响因素可视化2案例拓端数据

SEM在很大程度上是回归的多元扩展,我们可以在其中一次检查许多预测变量和结果。SEM还提供了检查潜在结构(即未观察到某些变量的地方)的创新。更具体地说,“结构方程”的概念是指我们有不止一个方程表示协方差结构模型,其中我们(通常)有多个标准变量和多个预测变量。

这是上面的单预测回归,作为路径模型运行:

#示例数据集,包括波士顿按人口普查区划分的房屋价格Bsnml<-otnou%>%dplyr::select(cmv,#住宅的中位数价值,以千计crm,#城镇人均犯罪率nx,#一氧化氮浓度lsa,#地位较低的人的比例rd#靠近放射状的高速公路)%>%mutatesummary

为了比较,输出lm()

summary(lm

在这种情况下,我们可以要求在模型中包含平均值(截距)mean=TRUE:

summary(lvt)

"参数"表提供了模型中哪些参数是必须被估计,以及用户在模型语法中要求哪些参数的重要摘要。

Table(mv)

在这里,'user'指的是我们在语法中明确请求的参数,'free'列的非零值表示模型自由估计的参数。

请注意,我们也可以得到标准化的估计值。这是SEM中更复杂的主题,因为我们可以仅针对潜在变量(std.lv)或观察变量和潜在变量(std.all)进行标准化。后者通常是SEM论文中作为标准化估计报告的内容。

stdln(v,type)

让我们看一些更有趣的东西。如果我们认为一氧化氮(nox)水平也可以预测房价和犯罪率,那会怎样?我们可以将其添加为标准多元回归中的预测变量。

此外,我们假设房屋靠近大型高速公路(rad)预测一氧化氮的浓度,从而预测较低的房价?

模型语法可以指定为:

sem(ln2,data=toSll)模型看起来像这样

Paths

这是文本输出:

summary

需要注意的几点:

当模型中变量的方差显着不同(数量级)时,参数估计可能会遇到困难。鉴于上述警告,让我们来看看。

Table(lv2)

看起来nox的比例要比其他预测因素小得多,可能是因为它的单位是千万分之一!我们可以通过乘以常数来重新调整变量的比例。在这种情况下,我们可以通过乘以一个常数来重新划分变量的尺度。这对模型的拟合或解释没有影响--我们只需要回忆一下新单位代表什么。另外,如果重要的话,你可以随时从参数估计中除掉常数来恢复原来的单位。

Bonl<-BoSal%>%mutatesummary(lv2)

您可以在模型摘要输出中使用更详细的全局拟合指数。

summary(fit.me=TRUE)

您还可以使用以下方法获取适合的度量(包括其他统计信息)

这些看起来很差:CFI<.95(甚至远低于0.9),而RMSEA远高于我们认为“还可以”的0.08水平。

这表明需要更详细地检查拟合。首先,我们可以查看模型隐含和观察到的协方差矩阵之间的不匹配。

从概念上讲,结构方程建模(SEM)的目标是测试变量间协方差的理论动机模型是否提供了数据的良好近似。

更具体地说,我们试图测试一个解析模型(由测量和/或结构成分组成)对观察到的协方差矩阵的再现程度。从形式上看,我们正在寻求建立一个模型,其模型隐含的协方差矩阵接近于样本(观测)协方差矩阵。

SXX≈Σ(θ^)

我们可以从中获得这些信息,进一步诊断模型不匹配。

首先,模型隐含的协方差矩阵:

fitted

因此,该模型显着低估了nox和crim之间的关联。

我们也可以将问题可视化:

plot_matix

让我们看一下修改索引,看看我们是否可以通过释放一个或多个路径来修复不匹配,特别是nox和log_crim之间的关系。

在这里,我们看到如果我们允许log_crim预测,模型拟合会大大提高nox。这是否具有理论上的意义是另一回事(而且可能更重要)。出于演示目的,让我们接受需要自由估计这条路径。

#我们可以使用添加参数来添加一个路径,同时保持所有其他模型元素不变ma3<-updatesummary

radlog\_crim→nox→cmedv→nox→cmedvrad→nox→cmedvlog\_crim→nox→cmedv

为了具体测试这些,我们需要在模型中定义新参数,这些参数是各个路径的产物。这可以使用=:运算符('定义为')来完成。请注意,这确实会改变模型中自由参数的数量,因为这些只是现有参数的乘积。为了看哪个估计要相乘,我们必须通过将变量预乘以任意标签来使用“参数标签”。在这里,我将“a1”和“a2”用于X->M路径,将“b1”用于M->Y路径。

i_1:=a1*b1i_2:=a2*b1'summary(mv4)

这看起来很有希望,但正如我上面提到的,这种用于测试中介的“delta方法”众所周知是有问题的,因为间接路径乘积项的抽样分布不正常。Bootstrapping是解决这种问题的一种常见解决方法,它不会对感兴趣系数的分布(即两个中介路径的采样分布)做出强有力的假设。我们可以使用参数来实现这一点se="bootstrap"。默认情况下,这将使用1000个非参数引导样本重新估计参数估计的标准误差。您可以使用bootstrap参数更改引导样本的数量

正如我们所怀疑的,这两种间接途径都很重要,表明了调节的证据。

当我们对测试有潜变量的模型感兴趣时,怎么办?通常,这将是一个"反映性潜变量"模型,我们认为一个假定的潜变量是由几个(通常是3个以上)显性指标来衡量的。这样的变量通常被称为"因子"或"潜在特质"。在SEM世界中,确认性因子分析是最常见的反映性潜变量模型。

这样的模型中使用=~操作符('测量的')来指定。

让我们以衡量智力为例,其中有9个项目可以衡量智力的不同方面:视觉、文本和速度。观察到的变量是x1-x9。

这是一个“经典”数据集,用于许多关于结构方程建模(SEM)的论文和书籍,包括一些商业SEM软件包的手册。数据包括来自两所不同学校的七年级和八年级儿童的心理能力测试成绩。在我们的数据集版本中,仅包含原始26个测试中的9个。通常针对这9个变量提出的CFA模型由三个潜在变量(或因子)组成,每个潜在变量具有三个指标:

一个3因素CFA示例

指定此模型的相应语法如下:

visual=~x1+x2+x3textual=~x4+x5+x6speed=~x7+x8+x9在此示例中,模型语法仅包含三个“潜在变量定义”。

默认情况下,第一个指标具有1的固定负载以缩放基础因子(“单位负载标识”)。让我们来看看:

modification

summary(fit2,fit.meas)

仍然不是很好。我们可以重新检查修改指数

modificatio

现在是时候咨询你关于潜在结构应该是什么的预测或理论了。这是一个模型构建和模型比较问题,很大程度上超出了本教程的范围。然而,我们至少可以测试这些模型之间的全局拟合差异。这些是嵌套模型(因为x7~~x9在更简单的模型中残差协方差为0),这允许我们使用似然比检验(也称为模型卡方差):

anova

该anova函数将使用LRT方法测试整体拟合差异。LRT的自由度是自由参数数量的差异(此处为1)。

我们可以查看自由参数在矩阵规范中的位置。自由参数被编号(按顺序),零表示可能的参数,固定为零(即不估计)。

inspect

我们还可以看到矩阵形式的参数估计:

inspect("est")

summary(fit.measures=TRUE)

semPath

正如人们所预料的那样,高年级的孩子在潜在智力因素上得分更高。

最后,如果我们想在结构模型中使用一般与特定(残差)方差怎么办?为了让它们在相同的参数矩阵中适当地发挥作用,我们为感兴趣的项目残差创建了一个单指标潜在变量。

这里没有骰子,但你明白了。

支持使用阈值结构来正式处理内生的分类数据。这源于这样的观点:一个项目的基本分布是连续的(高斯),但我们的离散化(如二元或多态)在特定的点上降低了这个维度。

我们有4个级别的变量(1、2、3、4),但只有三个阈值--每个阈值指定两个相邻级别(锚)之间的边界。如果我们有动力来说明这个结构,这些阈值可以被指定为模型中的自由参数。这实质上是在估计ττ参数沿着连续体的落点;它们不需要均匀分布

如果我们对一个项目有5个以上的锚,我们也许可以把它当作连续的,而不会出现重大的错误。请注意,这就是我们在最初的CFA中所做的事情--我们将x1-x9视为正态/连续分布。事实证明,它们是(即不是高度离散的)。

hist(Holz$x1)

但是,如果我们有具有2、3或4个值的数据,将变量视为连续变量通常是不合适的,并且可能导致有偏差、不准确的结果。

通常,具有阈值结构的模型是使用“加权最小二乘”(WLS)估计器而不是最大似然(ML;SEM中的典型估计器)估计的。均值和协方差调整的WLS(又名“WLSMV”)通常是可行的方法,因为它可以比典型的WLS更好地处理多元分布的非正态性。

这是一个快速演示——如果我们的每个智力测试项目只有三分法怎么办?

hist

我们用有序参数告诉R哪些项目是有序分类的。

summary(fiat)

请注意,我们现在对每个项目都有阈值估计,其中较高的数值表示对一个类别和下一个类别之间的边界有较高的估计,而这个潜在的连续体据说是该项目的基础。

最后,可以用许多不同的算法来估计模型中的参数。“ML”是连续数据的默认值,“WLS”是(部分)分类数据的默认值。

这些估计器的'稳健'通常会在整个模型的卡方检验和标准误差的层面上对非正态性(以及潜在的其他东西,如聚类)进行稳健处理,因此,显著性检验。让你的统计数据对非正态性具有鲁棒性通常是一件好事......因此,许多人将使用"MLR"作为他们对连续数据的首选,而"WLSMV"则用于分类数据。

可以使用estimator参数指定它。

summary(filr,fit.measures=TRUE)

我们现在有一列“稳健”的全局拟合指数,并注意标准误差是使用Huber-White估计器估计的(对非正态性和聚类稳健)。

以下是默认情况下发生的情况:

注意输出:

结果不理想。

好的,下面是FIML

summary(fiiml,fit.measures=TRUE)

这更让人放心:

同样,关于缺失数据的理论和正式方法超出了本教程的范围,但我希望这能让大家了解到如何在sem中处理缺失问题。

THE END
1.一文读懂主成分分析与因子分析(二)图表说明: 上表为因子分析的根据载荷系数等信息所做的主成分权重分析,其计算公式为:方差解释率/旋转后累积方差解释率。 结果分析:因子的权重计算结果显示,因子 1 的权重为 66.9%、因子 2 的权重为 27.396%、因子 3 的权重为 4.625%、因子 4 的权重为 0.576%、因子 5 的权重为 0.503%。 https://developer.aliyun.com/article/1241967
2.主成分分析法案例3篇.doc主成分分析法案例3篇.doc,主成分分析法案例3篇 篇一:主成分分析法及案例分析 在统计学中,主成分分析是一种简化数据集的技术。它是一个线性变换。这个变换把数据变换到一个新的坐标系统中,使得任何数据投影的第一大方差在第一个坐标上,第二大方差在第二个坐标上,依次类https://max.book118.com/html/2017/0116/84478429.shtm
3.学术前沿与此不同,当下的犯罪率研究,不是用多个自变量解释一个已知的因变量,而是从多个变量中提炼、浓缩共性,前提是多个变量之间存在共性。降维分析中的主成分分析法和因子分析法恰好适合解决此类问题。不过,作为第一次尝试,采用降维分析方法研究犯罪率出来的结果应该不再是每十万人口中的全部或某类案件数或人数,而是多个具体...http://www.zgfzxxh.com/xsqy/202204/t20220411_3620737.shtml
1.简单例子弄懂主成分分析主成分分析法举例但我们发现,可能数学和物理成绩往往有较强的相关性,英语和语文成绩也有一定的关联。 这时我们使用主成分分析(PCA),它会找到新的“综合科目”,也就是主成分。比如第一个主成分可能综合反映了学生的理科思维能力,与数学和物理成绩的关系较大;第二个主成分可能综合反映了学生的语言能力,与英语和语文成绩关系较大。https://blog.csdn.net/Llcm3030zzstj81/article/details/141691418
2.数学建模暑期集训21:主成分分析(PCA)腾讯云开发者社区主成分分析指标解释案例 主成分分析的一大难点是指标意义模糊,难以解释,下面这个例子可以辅助理解。 上表的累计贡献率 = 当前项贡献率 + 之前的累计贡献率。当累计贡献率 > 80%时,剩下的特征向量可以舍弃。 上面的分析需要一定的语言组织能力,也需要一定运气成分,若难以解释,或者强行解释,或者换方法。 https://cloud.tencent.com/developer/article/2022167
3.常用:主成分分析和因子分析的原理,操作,代码和案例讲解!今天,分享《主成分分因子分析的原理, 操作, 代码和案例讲解》,全文分为两个部分,分别对应着主成分分析和因子分析。 1.主成分分析 PCA analysis 主成分分分析也称作主分量分析,是霍特林(Hotelling)在1933年首先提出。主成分分析是利用降维的思想,在损失较少信息的前提下把多个指标转化为较少的综合指标。转化生成的...https://www.shangyexinzhi.com/article/5113763.html
4.数学建模暑期集训21:主成分分析(PCA)51CTO博客主成分分析指标解释案例 主成分分析的一大难点是指标意义模糊,难以解释,下面这个例子可以辅助理解。 上表的累计贡献率 = 当前项贡献率 + 之前的累计贡献率。当累计贡献率 > 80%时,剩下的特征向量可以舍弃。 上面的分析需要一定的语言组织能力,也需要一定运气成分,若难以解释,或者强行解释,或者换方法。 主成分分析...https://blog.51cto.com/u_15762365/5612135
5.转录组专题转录组结题报告解读+文章撰写描述主成分分析(Principal Component Analysis,PCA)是一种无监督模式识别的多维数据统计分析方法,用来判断组内样本的重复性和组间样本的差异。 图2.样本的PCA图 2.3 gene_expression.annot所有样本比对上的所有基因及注释信息 包括基因ID,基因的FPKM值,基因的counts值,以及在不同数据库的注释信息,这个表是所有后续差异基因...https://www.antpedia.com/news/wx_article/752184.html
6.解释主成分分析的主要结果解释主成分分析的主要结果 了解关于 Minitab 的更多信息 请完成以下步骤来解释主分量分析。主要输出包括特征值、分量解释的方差比率、系数和几个图形。 关于本主题 步骤1:确定主分量数 步骤2:根据原始变量解释每个主分量 步骤3:标识异常值 步骤1:确定主分量数 ...https://support.minitab.com/en-us/minitab/18/help-and-how-to/modeling-statistics/multivariate/how-to/principal-components/interpret-the-results/key-results/
7.路噪问题的诊断与优化振动与噪声而参考车内噪声进行主成分分析时,解耦出来的特征基本与目标点噪声直接相关,所以基本上一到两个主成分即可完成拟合,更加方便我们的数据处理分析,同时也更能体现NVH问题。 本案例分析结果如下: 图5 以车内噪声为参考的PCA分析结果 根据图 5所示,车内噪声主要峰值基本均由第一阶主成分拟合而成,所以该阶主成分将被...https://www.auto-testing.net/news/show-106120.html
8.主成分分析(PCA)原理详解及案例分析主成分分析(PCA) 假设我们一组二维数据点如图(1)所示,我们可以看出这两个维度具有很高的相似性,也就是说两个维度之间具有很高的冗余性,如果我们只想保留一个维度,那么该怎么选择才能尽可能多的保留原始数据的信息呢。我们先对数据进行归一化处理,得到的数据点如图(2)所示。然后将数据点映射到另一个新的空间,如图...https://www.pianshen.com/article/65462319392/
9.文化与自然灾害对四川居民保护旅游地生态环境行为的影响对价值观量表、生态环境信念观量表、保护旅游地生态环境行为量表和灾害后果认知及个人规范量表分别进行探索性因子分析(主成分分析法、最大方差旋转、特征值>1)。所有测量量表信度>0.60,效度>0.55表示量表内在信度和效度较好(表 1);同时所有指标因子载荷>0.50,表明不需要剔除任何题项。经探索性因子分析后得到7个因子,由...https://www.ecologica.cn/stxb/ch/html/2014/17/stxb201301090075.htm
10.探索性因子分析(ExploratoryFactorAnalysis)——SPSS软件实现...EFA分析的主要目的之一是通过选取的主成分因子(维度)对数据进行降维,但同时也要注意应尽可能多的包含对数据变异的解释。 1. 软件操作 在“因子分析”(图7)页面,点击“确定”,输出结果如表7所示。 表7 2. 结果解读 在表7“总方差解释”表格中,每个主成分因子(维度)的解释率都>5%,累计方差解释率为58.188%。https://mengte.online/archives/13442