在R中改进flexmix

时间:2016-02-10 16:12:13

标签: r

我是R中的flexmix新手,希望得到一些帮助。我为混乱的格式道歉,因为这也是我的第一篇文章。

我在数据集中有两个DV,Y1和Y2。

summary(dataset1.nomiss$Y1)

   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 

  3.000   3.000   3.000   4.202   4.000  28.000 

summary(dataset1.nomiss$Y2)

   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 

  1.000   2.000   3.000   3.838   6.000  11.000 

> dataset1.nomiss$Y1

  3  4  7  1  1  3  1  4  8  4  9  4  1  2  7  7  3  1  2  6  4  1  3  2  5  1  1  2  3  8  1  4  9  1  1  3  4  3  2  2 11  1  2  1  2  7  5  3  3  3  2  4  8  1  4  4
  1  4  5  3  1  2  8  3  3  4  1  1  9  4  2  6  1  2  2  1  7  3  6  8  1  3  6  3  1  1  1  1  7  9  8  2  1  4  2  3  2  4  1  2  4  4  9  2  2  5  3  2  5  2  6 10
  8  2  2  4  4  2  2  5  3  8  3  1  2  8  3  8  8  5  6  7  4  3 11  4  2  4  7  1  1  7  5  2  7  9  7 10  4  2  3  3  7  4  7  1  1  1  1  1  7  1  1  4  1  8  1  8
  2  9  4  3  3


> dataset1.nomiss$Y1  # Guessing this was supposed to be Y2

  4  3  6  3  6  3  3  3  3  3  5  4  3  4  4  3  6  3  3  6  8  3  3  3  5  3  3  3  4  3  3  5 28  3  3  3  4  3  3  3  3  3  3  3  3  3  5  6  3  3  3  3  3  3  3 28
 3  3  3  6  3  3  3  3  3  8  3  3  3  6  3  3  3  3  3  3 12  3  4  3  3  9 16  3  3  3  4  4  3  3  3  4  3  3  3  3  3  5  3  3  3  3  3  5  3  3  3  3  3  3  9  3
 4  3  7  3 18  4  3  8  3  3  3  3  3  7  3  7 11  3  3  3  3  3  3  3  3  3  3  3  3  6  6  3  3 11 14  3  3  3  3  3  4  3  4  3  3  3  5  3  3  3  3  3  3  3  3  3
 3  3  3  3  3

我无法按照以下方式重新安装Y1。

Call:

flexmix(formula = Y1 ~ Condition + AGE + RACE + CESD + SAQ_overall + SAQ_certainty + SAQ_importance, data = dataset1.nomiss, 
    k = 2)

       prior size post>0 ratio

Comp.1 0.266   46     46     1

Comp.2 0.734  127    127     1

'log Lik.' 3871.355 (df=21)
AIC: -7700.709   BIC: -7634.49 

> model_1.refit<-refit(model_1)

**Error in solve.default(as.matrix(fit$hessian)) : 
  Lapack routine dgesv: system is exactly singular: U[11,11] = 0**

然而,Y2工作正常

Call:
flexmix(formula = Y2 ~ Condition + AGE + RACE + CESD + SAQ_overall + SAQ_certainty + SAQ_importance, data = dataset1.nomiss, 
    k = 2)

       prior size post>0 ratio

Comp.1 0.661  111    172 0.645

Comp.2 0.339   62    108 0.574

'log Lik.' -358.9611 (df=21)
AIC: 759.9222   BIC: 826.1413 


> model_2.refit<-refit(model_2)

1 个答案:

答案 0 :(得分:0)

当一个模型工作返回一条错误消息,说明一个&#34;奇异系统&#34;结果,这意味着由于列的线性依赖性,无法处理构建的一个矩阵。这不是编码的错误,而是数据中阻止数学和机器的情况。从继续。您可以通过单独查看Y1与每个预测变量的预测因子的相关性来研究一些可能性:

with(dataset1.nomiss, sapply( list( Condition , AGE , RACE , CESD , SAQ_overall , 
                     SAQ_certainty, SAQ_importance),
                              cor, y=Y1)

如果那些单独的相关性都不是1.0,那么你应该看一下Y1的三向表和成对的分类变量。如果没有更好地描述这些变量的性质,那么它很难具体化,但我认为AGE不太可能成为一个问题,只要它不是绝对的。由于您没有详细列出数据情况,因此无法对SAQ变量进行评论。