线性回归中变量的顺序更改时,MANOVA结果也会更改

问题描述

我有一个关于在多元回归模型中更改因变量顺序的问题。

我想找出每个变量能解释多少差异。但是,当我翻转模型中的变量并运行manova时,会得到不同的值。

这是我的数据(lin)的大致样子:

lin <- data.frame(Length = sample(8:200,66,replace = T),TD = sample(4:46,SD = sample(1:30,Angle = sample(-28:110,Pigot = sample(letters[1:10],Order = sample(letters[1:19],replace = T))

liny <- as.matrix(cbind(lin$Length,lin$TD,lin$SD,lin$Angle))
lin$y <- liny

我使用lm.rrpp()包中的RRPP函数创建了模型。该函数的说明如下:

函数使用随机残差置换过程对许多随机数据进行线性拟合。

之所以使用它是因为我想创建一个系统发育的广义最小二乘(PGLS)模型,显然基于排列的PGLS对于多变量数据更好(Adams和Collyer,2019)。为了创建PGLS模型,我在树lattree的模型中加入了系统进化协方差矩阵。我已经检查过了,我相当确定该数据和树遵循布朗运动。以下是lattree摘要

Phylogenetic tree: lattree 

  Number of tips: 66 
  Number of nodes: 63 
  Branch lengths:
    mean: 18.61592 
    variance: 400.4626 
    distribution summary:
       Min.     1st Qu.      Median     3rd Qu.        Max. 
 0.08051153  4.46181708 11.06993733 22.99037164 77.44630588 
  Root edge: 0 
  First ten tip labels: Meleagris_gallopavo 
                        Lagopus_lagopus
                        Branta_canadensis
                        Branta_bernicla
                        Mergus_merganser
                        Bucephala_islandica
                        Aix_sponsa
                        Tadorna_tadorna
                        Anas_crecca
                        Anas_clypeata
  No node labels.

话虽如此,这是第一个模型和MANOVA的结果:

linbm <- lm.rrpp(y ~ Pigot + Order,data = lin,Cov = vcv(phy = lattree))
linma <- manova.update(linbm,tol = 0.001)
summary(linma,test = "Pillai")

Linear Model fit with lm.rrpp

Number of observations: 66
Number of dependent variables: 4
Data space dimensions: 4
Residual covariance matrix rank: 4
Sums of Squares and Cross-products: Type I
Number of permutations: 1000 

           Df Rand      Pillai   Z           Pr(>Pillai)
Pigot       9 Residuals 1.091039  1.35992417 0.079      
Order      18 Residuals 0.889333 -1.76439691 0.959      
Full.Model 27 Residuals 1.618788 -0.07714005 0.557      
Residuals  38                                  

这是模型和结果,其中变量的顺序已更改:

linbm1 <- lm.rrpp(y ~ Order + Pigot,Cov = vcv(phy = lattree))
linma1 <- manova.update(linbm1,tol = 0.001)
summary(linma1,test = "Pillai")

Linear Model fit with lm.rrpp

Number of observations: 66
Number of dependent variables: 4
Data space dimensions: 4
Residual covariance matrix rank: 4
Sums of Squares and Cross-products: Type I
Number of permutations: 1000 

           Df Rand      Pillai    Z           Pr(>Pillai)
Order      18 Residuals 1.0200571 -0.99262373 0.836      
Pigot       9 Residuals 0.9755266  0.87378038 0.201      
Full.Model 27 Residuals 1.6187879 -0.07714005 0.557      
Residuals  38                                       

如您所见,我得到了不同的值。有谁知道为什么会这样,怎么办?我曾尝试研究它,但是我真的不理解它背后的数学或概念,因此我真的不知道发生了什么。任何帮助/见解将不胜感激!理想情况下,非常感谢“傻瓜”的解释...:')

谢谢

卡罗琳娜

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...