用R介绍路径分析

栏目: R语言 · 发布时间: 5年前

内容简介:路径分析是多元回归的扩展。 它帮助分析更复杂的模型。想象一下,你要建立一个模型从汽车不同属性来预测汽车行驶里程。 你会怎么做?最简单的方法是采用一个对行驶里程影响最大的参数或属性(选择哪一个属性可以成为一个无休止的争论的问题)建立回归模型来预测里程。 但你认为这是正确的方法吗?不,因为

路径分析是多元回归的扩展。 它帮助分析更复杂的模型。

想象一下,你要建立一个模型从汽车不同属性来预测汽车行驶里程。 你会怎么做?

最简单的方法是采用一个对行驶里程影响最大的参数或属性(选择哪一个属性可以成为一个无休止的争论的问题)建立回归模型来预测里程。 但你认为这是正确的方法吗?不,因为 汽车的行驶里程取决于多种因素而不仅仅是单一因素 。 所以,让我们更进一步,扩展我们的模型,使其更加强大,并包括汽车的其他属性。

在第二种方法中,我们 将识别汽车的各种属性 ,如马力,容量,发动机类型,发动机型号,汽缸等。所有这些将形成我们模型的 预测变量 (也称为自变量),行驶里程将是 响应变量 (也称为因变量)。

第一个和第二个模型之间有什么区别?

在第二个模型中,我们有多个因素或变量对最终输出变量有贡献。直观地说,这个模型的准确性应该更高。对吗?

第一个模型称为 简单线性回归 ;而第二个模型称为 多元线性回归模型 。在这种情况下,假设有多个独立变量都会影响输出变量。但是,如果其中一个自变量是其他自变量的因变量呢?例如,里程数是马力,容量,发动机类型,发动机型号和汽缸的因变量;但是,如果马力是容量,发动机类型和气缸的因变量呢?

在这种情况下,模型变得复杂,路径分析在这种情况下很方便。 路径分析是多元回归的扩展 。它允许分析更复杂的模型。它有助于检查存在多个中间因变量的情况,以及Z依赖于变量Y的情况,而变量Y依赖于变量X.它可以比较不同的模型以确定哪个最适合数据。

用R介绍路径分析

路径分析早先也被称为“因果建模”;然而,在遭到强烈批评后,人们不再使用该术语,因为不可能使用统计技术建立因果关系。因果关系只能通过实验设计来确定。路径分析可以用来反驳一个表明变量之间存在因果关系的模型;但是,它不能用来证明变量之间存在因果关系。

让我们理解路径分析中使用的术语。我们这里的变量不是独立的或依赖的;相反,我们称之为外生或内生变量。外生变量(回归世界中的独立变量)是从它们开始但没有指向它们的箭头的变量。内生变量至少有一个指向它们的变量。这种命名的原因是导致或影响外生变量的因素存在于系统之外,而导致内生变量的因素存在于系统内。在上图中,X是外生变量;而Y,Z是内生变量。典型的路径图如下所示。

用R介绍路径分析

在上图中,A,B,C,D和E是外生变量;而I,O是内生变量。 'd'是扰动项,类似于回归中的残差。

现在,让我们来看看在使用路径分析之前我们需要考虑的假设。因为,路径分析是多元回归的扩展,多元回归的大多数假设也适用于路径分析。

  • 所有变量之间应该有线性关系。
  • 内生变量应该是连续的。如果是序数据,最小类别数应为5。
  • 变量之间不应该存在相互作用。在任何交互的情况下,可以添加单独的术语或变量,其反映两个变量之间的相互作用。
  • 扰动项是不相关的,或者扰动项之间的协方差是零。

现在,让我们向前迈出一步,了解R中路径分析的实现。我们将首先尝试一个toy example,然后采用R中的标准数据集。

install.packages("lavaan")
install.packages("OpenMx")
install.packages("semPlot")
install.packages("GGally")
install.packages("corrplot")
library(lavaan)
library(semPlot)
library(OpenMx)
library(GGally)
library(corrplot)

现在,让我们创建自己的数据集并尝试路径分析。 请注意,进行此练习的理由是培养直觉以理解路径分析。

set.seed(11)
a <-  0.5
b <-  5
c <-  7
d <-  2.5
x1 <-  rnorm(20, mean = 0, sd = 1)
x2 <-  rnorm(20, mean = 0, sd = 1)
x3 <-  runif(20, min = 2, max = 5)
Y <-  a*x1 + b*x2
Z <-  c*x3 + d*Y
data1 <-  cbind(x1, x2, x3, Y, Z)
head(data1, n = 10)

现在,我们已经创建了这个数据集。 让我们看看这些变量的相关矩阵。 这将告诉我们所有变量彼此之间的相关程度。

用R介绍路径分析

上图显示Y与X2密切相关; 而Z与X2和Y强烈相关.X1对Y的影响不如X2强。

model1 = 'Z ~ x1 + x2 + x3 + Y
Y ~ x1 + x2'
fit1 = cfa(model1, data = data1)
summary(fit1, fit.measures = TRUE, standardized = TRUE, rsquare = TRUE)
semPaths(fit1, 'std', layout = 'circle')

用R介绍路径分析

上图显示Z强烈依赖于Y并且弱依赖于X3和X1。 Y强烈依赖于X2并且弱依赖于X1。 这与我们之前在本文中构建的直觉相同。 这是路径分析的优点,这就是如何使用分析。

线之间的值是路径系数。 路径系数是标准化的回归系数,类似于多元回归的β系数。 这些路径系数应具有统计显着性,可以从摘要输出中进行检查(我们将在下一个示例中看到这一点)。

让我们转到第二个例子。 在这个例子中,我们将使用R中可用的标准数据集'mtcars'。

data2 = mtcars
head(data2, n = 10)
model2 = 'mpg ~ hp + gear + cyl + disp + carb + am + wt
hp ~ cyl + disp + carb'
fit2 = cfa(model2, data = data2)
summary(fit2)

在上面的总结输出中,我们可以看到wt是mpg的重要变量,为5%; 而dsp和crb是hp的重要变量。 'hp'本身不是mpg的重要变量。 我们将使用semPlot包的路径图检查此模型。

semPaths(fit2, 'std', 'est', curveAdjacent = TRUE, style = "lisrel")

用R介绍路径分析

上图显示mpg强烈依赖于wt;而hp强烈依赖于dsp和crb。 hp和mpg之间存在弱关系。从上述输出得出相同的推论。

semPaths函数可以多种方式创建上面的图表。您可以浏览semPaths的文档并探索不同的选项。

在进行路径分析时,您应该记住几个注意事项。路径分析对模型中遗漏或添加变量非常敏感。在模型中遗漏相关变量或添加额外变量可能会对结果产生重大影响。此外,路径分析是一种测试模型而不是构建模型的技术。如果您在构建模型中使用路径分析,那么您可能会以不同模型的无限组合结束,并且可能无法选择正确的模型。因此,路径分析可用于测试特定模型或比较多个模型以选择最佳模型。

还有许多其他方法可以使用路径分析。我们很想听听您在不同环境中使用路径分析的经验。请在下面的评论部分分享您的示例和经验。

本文由Perceptive Analytics提供。 Prudhvi Potluri,Chaitanya Sagar和Saneesh Veetil对本文做出了贡献。

Perceptive Analytics为电子商务,零售,医疗保健和制药行业提供数据分析,商业智能和报告服务。其客户名单包括美国和印度的财富500强和纽约证券交易所上市公司。

原文链接: https://www.kdnuggets.com/2018/09/introducing-path-analysis-using-r.html

版权声明:作者保留权利,严禁修改,转载请注明原文链接。

数据人网是数据人学习、交流和分享的平台http://shujuren.org 。专注于从数据中学习到有用知识。 平台的理念:人人投稿,知识共享;人人分析,洞见驱动;智慧聚合,普惠人人。 您在数据人网平台,可以1)学习数据知识;2)创建数据博客;3)认识数据朋友;4)寻找数据工作;5)找到其它与数据相关的干货。 我们努力坚持做原创,聚合和分享优质的省时的数据知识! 我们都是数据人,数据是有价值的,坚定不移地实现从数据到商业价值的转换!


以上所述就是小编给大家介绍的《用R介绍路径分析》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

精通Windows应用开发

精通Windows应用开发

[美] Jesse Liberty Philip Japikse Jon Galloway / 苏宝龙 / 人民邮电出版社 / 59.00元

Windows 8.1的出现不仅提供了跨设备的用户体验,也提供了跨设备的开发体验。本书着眼于实际项目中所需要的特性,以及现有C#编程知识的运用,对如何最大限度地利用Metro、WinRT和Windows 8进行了讲解,内容详尽,注重理论学习与实践开发的配合。 Windows 8.1和WinRT的作用及其特殊性 如何使用先进特性创建具有沉浸感和吸引力的Windows 8.1应用 如......一起来看看 《精通Windows应用开发》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具