用R预测概率
我在R中创建的模型是:用R预测概率,r,R,我在R中创建的模型是: fit <- lm(hired ~ educ + exper + sex, data=data) fit所以我尽力解释我找到的glm注释,这就是我想到的 > test<-glm(hired ~ educ + exper + sex, data=data, family=binomial()) > summary(test) Call: glm(formula = hired ~ educ + exper + sex, family =
fit <- lm(hired ~ educ + exper + sex, data=data)
fit所以我尽力解释我找到的glm注释,这就是我想到的
> test<-glm(hired ~ educ + exper + sex, data=data, family=binomial())
> summary(test)
Call:
glm(formula = hired ~ educ + exper + sex, family = binomial(),
data = data)
Deviance Residuals:
Min 1Q Median 3Q Max
-1.4380 -0.4573 -0.1009 0.1294 2.1804
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -14.2483 6.0805 -2.343 0.0191 *
educ 1.1549 0.6023 1.917 0.0552 .
exper 0.9098 0.4293 2.119 0.0341 *
sex 5.6037 2.6028 2.153 0.0313 *
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 35.165 on 27 degrees of freedom
Residual deviance: 14.735 on 24 degrees of freedom
AIC: 22.735
Number of Fisher Scoring iterations: 7
>测试摘要(测试)
电话:
glm(公式=雇佣~教育+经验+性别,家庭=二项式(),
数据=数据)
偏差残差:
最小1季度中值3季度最大值
-1.4380 -0.4573 -0.1009 0.1294 2.1804
系数:
估计标准误差z值Pr(>z)
(截距)-14.24836.0805-2.3430.0191*
educ 1.1549 0.6023 1.917 0.0552。
exper 0.9098 0.4293 2.119 0.0341*
性别5.6037 2.6028 2.153 0.0313*
---
签名。代码:0'***'0.001'***'0.01'*'0.05'.'0.1''1
(二项式族的离散参数取为1)
零偏差:27个自由度上的35.165
剩余偏差:24自由度时为14.735
AIC:22.735
Fisher评分迭代次数:7
对于使用glm
估计的模型,您可以使用predict
函数提取数据集中每个观测值的线性预测值。然后,您可以简单地使用适当的概率分布函数来获得预测的概率。例如,在逻辑回归的情况下,使用plogis
。换句话说,如果mod
模型是否适合glm
:
> plogis(predict(mod))
将返回数据集中每个观测值的预测概率,假设您估计了逻辑模型。如果需要计算不在数据集中的点的预测概率,请参阅predict
的newdata
选项。请注意,predict
还可以在每个点提供标准误差。有关更多信息,请参阅predict.glm
的文档
编辑:根据Greg的建议,您可以在调用predict
中使用type=“response”
免费获取plogis
:
> predict(mod, type="response")
您可以查看glm
功能。非常感谢刘敏照的快速响应。你能详细介绍一下吗?因为我确实看过glm函数,但我不知道怎么做。对不起,我是R新手。使用线性模型来估计概率,你必须做出一些假设。我不确定线性模型是这里最好的模型。相反,你可以考虑使用贝叶斯分类器。你可以用fit$fit作为概率的估计值,是这样的吗?fit我很乐意接受建议MattD你能扩展一下你的思维过程吗?或者使用glm对象的predict
函数的参数自动生成所需比例的预测。感谢大家的洞察力,我对我的帖子进行了编辑。