statistical-test - 多项逻辑回归是否适合这种情况?
问题描述
我的数据集中有两列。y 是因变量,具有三个级别(无序级别 A、B 和 C),x 是数字自变量。下面的示例说明了这种情况,但我的实际数据集更大,超过 1000 行。
+------+---+
| x | y |
+------+---+
| 5.93 | A |
| 4.46 | A |
| 4.63 | A |
| 5.07 | A |
| 5.71 | A |
| 6.81 | B |
| 6.45 | B |
| 6.07 | B |
| 7.26 | C |
| 8.24 | C |
| 6.25 | C |
| 7.34 | C |
| 7.17 | C |
+------+---+
我的零假设是 y 列中 A、B 和 C 的比例与 x 值无关。也就是说,与任何给定 x 值相关的 A、B 和 C 的比例都与 x 无关。另一种假设是这些比例取决于 x。
我正在为此寻找统计测试。
我想知道执行多项逻辑回归并评估系数的重要性是否是一种合理的方法,或者是否有更好的测试。
解决方案
如果您需要执行假设检验,那么最有可能的是多项式回归。另一种选择是离散化您的连续变量,然后显示不同的 bin 与您的类别之间存在关联。
您可以检查这篇文章接受的答案,以分别在每个术语下测试每个系数。这样做的缺点是您需要设置一个术语作为参考。
由于您的 null 是“y 列中 A、B 和 C 的比例独立于 x 值”,因此您可以针对 null 模型测试您的模型。通常使用似然比检验。以下是如何在 R 中执行此操作:
df = structure(list(x = c(5.93, 4.46, 4.63, 5.07, 5.71, 6.81, 6.45,
6.07, 7.26, 8.24, 6.25, 7.34, 7.17), y = structure(c(1L, 1L,
1L, 1L, 1L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L), .Label = c("A",
"B", "C"), class = "factor")), class = "data.frame", row.names = 0:12)
library(car)
library(nnet)
fit = multinom(y ~ x,data=df)
Anova(fit)
# weights: 6 (2 variable)
initial value 14.281960
final value 13.954126
converged
Analysis of Deviance Table (Type II tests)
Response: y
LR Chisq Df Pr(>Chisq)
x 18.717 2 8.624e-05 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
推荐阅读
- xpath - Xpath 函数循环遍历重复节点
- azure - 在 Hazelcast 中为 Azure 配置服务发现
- python - 在 Python 中更快地读取文本文件
- sql - COALESCE 和 CASE 之间的区别不为空
- list - 在 netlogo 中过滤列表的代码是什么?Netlogo 6 的变化?
- java - 仅当两个单词之间出现一次但不出现三次时如何从字符串中删除空格?
- regex - 如何在一组行中使用 awk 进行模式匹配
- node.js - Node.js/Electron 的点阵打印模块?
- assembly - 非常卡在 ARM 中的子程序上
- hl7-fhir - 对具有大量患者的 Fhir 服务器执行条件删除操作失败