【问题标题】:R logistic regression model.matrixR逻辑回归模型.矩阵
【发布时间】:2018-01-26 16:16:25
【问题描述】:

我是 R 新手,我正在尝试了解逻辑回归的解决方案。到目前为止所做的只是删除未使用的变量,将数据拆分为训练和测试数据集。我试图理解它谈论model.matrix的部分内容。我刚刚进入 R 和统计,我不确定什么是 model.matrix 和什么是合同。代码如下:

## create design matrix; indicators for categorical variables (factors)
Xdel <- model.matrix(delay~.,data=DataFD_new)[,-1]
xtrain <- Xdel[train,]
xnew <- Xdel[-train,]
ytrain <- del$delay[train]
ynew <- del$delay[-train]
m1=glm(delay~.,family=binomial,data=data.frame(delay=ytrain,xtrain))
summary(m1)

谁能告诉我model.matrix的用法?为什么我们不能直接创建分类变量的虚拟变量并将它们放入glm?我很迷惑。 model.matrix有什么用?

【问题讨论】:

  • 您可以根据需要为分类变量创建虚拟变量,但通常不需要。只要您的分类变量被正确编码为因子,调用glm(y ~ catvar1 + catvar2) 将自动为catvar1catvar2 的每个级别使用虚拟编码系数,无需直接使用model.matrix
  • 谢谢。那么上面例子中的model.matrix有什么用呢?
  • 如文档所述,它创建了一个设计矩阵。要了解这是什么,您可能需要深入研究建模数学。如果您要手动操作,您将需要它,但您真的不应该这样做。 glm 照顾一切,此外,还有一堆辅助功能让您的生活更轻松。
  • 谢谢。我对此很陌生,我觉得 model.matrix 很难理解。你能建议我用另一种方法在没有 model.matrix 的情况下完成这项工作吗?你能给我它的语法吗?
  • @Marius 的评论告诉你如何做到这一点。我将在答案中发布一些代码向您展示如何(刚刚发现我无法在此评论中发布代码...)

标签: r statistics logistic-regression


【解决方案1】:

Marius 的评论解释了如何做到这一点 - 下面的代码只是给出了一个示例(我觉得这很有帮助,因为张贴者仍然很困惑)。

# Create example dataset. 'catvar' represents a categorical variable despite being coded with numbers.
X = data.frame("catvar" = sample(c(1, 2, 3), 100, replace = T),
               "numvar" = rnorm(100), 
               "y" = sample(c(0, 1), 100, replace = T))

# Check whether you're categorical variables are coded correctly. (They'll say 'factor' if so)
sapply(X, class) #catvar is coded as 'numeric', which is wrong.

# Tell 'R' that catvar is categorical. If your categorical variables are already classed as factors, you can skip this step
X$catvar = factor(X$catvar)
sapply(X, class) # check all variables are coded correctly

# Fit model to dataframe (i.e. without needing to convert X to a model matrix)
fit = glm(y ~ numvar + catvar, data = X, family = "binomial")

【讨论】:

    猜你喜欢
    • 2015-01-30
    • 2021-09-03
    • 2023-04-05
    • 2021-01-13
    • 2019-05-26
    • 1970-01-01
    • 2021-04-28
    • 2020-07-08
    • 2016-12-11
    相关资源
    最近更新 更多