如何解决R中基于连续变量的生存概率泰坦尼克号数据集
以下是我试图根据sex
和fare
查找生存的条件概率的泰坦尼克号数据集。 Sex
是分类变量,fare
是连续变量。
library(PASWR2)
library(magrittr)
library(data.table)
# convert dataset from data frame to data table
titanic3 <- copy(TITANIC3)
setDT(titanic3)
以下语句找到了fare
确切值的概率,但是,我想根据fare
列的概率分布来找到它。
titanic3[,survival_prob := round(100 * mean(survived),1),by = .(fare,sex)]
我试图将fare
变量从连续变量转换为分类变量,然后计算出概率,但是结果有些准确,但是,概率的变化很大程度上取决于我在创建分类变量时创建的容器的大小。
有更好的方法吗?
谢谢。
解决方法
您想知道根据性别和票价确定的生存条件概率。但是,票价是一个连续变量。因此,您不能简单地应用您的方法。在您的情况下,有必要找到适当的统计方法。
一种方法是逻辑回归。首先,您使用逻辑回归来估计统计模型。然后,从对象mdl
中提取与所需条件概率相对应的拟合值。但是请注意,估计条件概率的统计方法不同,对数回归只是其中之一。但是,它广泛用于此类任务。
library(PASWR2)
library(magrittr)
library(data.table)
titanic3 <- copy(TITANIC3)
setDT(titanic3)
# use logistic regression to estimate the conditional probability to survive
# based on fare and sex
mdl <- glm(survived ~ fare + sex,family = binomial(),data = titanic3)
# extract fitted values which corresponds to the conditional probability
mdl$fitted.values
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。