用R介绍路径分析

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

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

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

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

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

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

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

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

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

在这种情况下,模型变得复杂,路径分析在这种情况下很方便。 路径分析是多元回归的扩展 。它允许分析更复杂的模型。它有助于检查存在多个中间因变量的情况,以及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介绍路径分析》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

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

只是为了好玩

只是为了好玩

Linus Torvalds、David Diamond / 陈少芸 / 人民邮电出版社 / 2014-7 / 49.00 元

本书是Linux之父Linus Torvalds的自传。 Linux之父Linus Torvalds的自传,也是Linus唯一一本书。Linus以调侃的语气讲述了自己的成长经历,在他看来,一切都是为了好玩儿,兴趣引发革命。书中内容共分为五章,一部分是Linus自己写的,一部分是合著者David Diamond的评论。 林纳斯•托瓦兹 当今世界最著名的程序员、黑客,开源操作系统Linux......一起来看看 《只是为了好玩》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

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

RGB HEX 互转工具

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具