gpt4 book ai didi

r - r中的多元逻辑回归?

转载 作者:行者123 更新时间:2023-12-04 10:14:34 26 4
gpt4 key购买 nike

如何在 R 中执行多变量(多因变量)逻辑回归?

我知道你这样做是为了线性回归,这很有效

form <-cbind(A,B,C,D)~shopping_pt+price
mlm.model.1 <- lm(form, data = train)

但是当我尝试以下(见下文)逻辑回归时,它不起作用。
model.logistic <- glm(form, family=binomial(link=logit), data=train)

感谢您的帮助。

要补充的是,我使用上述线性模型执行此操作的代码似乎不正确。我正在尝试本文档中概述的内容,有些人可能会觉得这些内容很有用。

ftp://ftp.cis.upenn.edu/pub/datamining/public_html/ReadingGroup/papers/multiResponse.pdf

最佳答案

在我看来 lm(cbind(A,B,C,D)~shopping_pt+price)只适合四个因变量的四个不同模型。 second link你甚至提供了提及:

The individual coefficients, as well as their standard errors will be the same as those produced by the multivariate regression. However, the OLS regressions will not produce multivariate results, nor will they allow for testing of coefficients across equations.



这意味着所有的估计都是一样的,你只需要预测四次;并且对拟合系数的假设在模型之间是独立的。

我刚刚尝试了下面的这个例子,表明它确实是这样的:
> set.seed(0)
> x1 <- runif(10)
> x2 <- runif(10)
> y1 <- 2*x1 + 3*x2 + rnorm(10)
> y2 <- 4*x1 + 5*x2 + rnorm(10)
> mm <- lm(cbind(y1,y2)~x1+x2)
> m1 <- lm(y1~x1+x2)
> m2 <- lm(y2~x1+x2)
# If we look at mm, m1 and m2, we see that models are identical
# If we predict new data, they give the same estimates
> x1_ <- runif(10)
> x2_ <- runif(10)
> predict(mm, newdata=list(x1=x1_, x2=x2_))
y1 y2
1 2.9714571 5.965774
2 2.7153855 5.327974
3 2.5101344 5.434516
4 1.3702441 3.853450
5 0.9447582 3.376867
6 2.3809256 5.051257
7 2.5782102 5.544434
8 3.1514895 6.156506
9 2.4421892 5.061288
10 1.6712042 4.470486
> predict(m1, newdata=list(x1=x1_, x2=x2_))
1 2 3 4 5 6 7 8 9 10
2.9714571 2.7153855 2.5101344 1.3702441 0.9447582 2.3809256 2.5782102 3.1514895 2.4421892 1.6712042
> predict(m2, newdata=list(x1=x1_, x2=x2_))
1 2 3 4 5 6 7 8 9 10
5.965774 5.327974 5.434516 3.853450 3.376867 5.051257 5.544434 6.156506 5.061288 4.470486

所以这表明您可以分别拟合四个逻辑模型。

关于r - r中的多元逻辑回归?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23554853/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com