R中的Beta回归模型

Posted

技术标签:

【中文标题】R中的Beta回归模型【英文标题】:Beta regression model in R 【发布时间】:2020-04-30 05:23:18 【问题描述】:

请再次接受我对我对 R 的了解不足的歉意。我正在努力变得更好!我是一名生物学家,但我的统计知识非常低

我有以下数据集:

Perc_Reacting,Pulses,IndMutant,Proportion
93,1,1,0.93
81,2,1,0.81
73,3,1,0.73
64,4,1,0.64
73,5,1,0.73
68,6,1,0.68
64,7,1,0.64
65,8,1,0.65
50,9,1,0.5
68,10,1,0.68
57,11,1,0.57
50,12,1,0.5
62,13,1,0.62
44,14,1,0.44
54,15,1,0.54
56,16,1,0.56
50,17,1,0.5
42,18,1,0.42
42,19,1,0.42
29,20,1,0.29
96,1,0,0.96
100,2,0,1
92,3,0,0.92
96,4,0,0.96
92,5,0,0.92
92,6,0,0.92
84,7,0,0.84
96,8,0,0.96
91,9,0,0.91
82,10,0,0.82
86,11,0,0.86
82,12,0,0.82
91,13,0,0.91
85,14,0,0.85
83,15,0,0.83
70,16,0,0.7
74,17,0,0.74
64,18,0,0.64
68,19,0,0.68
78,20,0,0.78

第一行和最后一行是一样的,一个用%表示,另一个用1-0的比例表示

我需要运行一个 Beta 回归模型,但是当我尝试创建模型时出现错误跳转:

model.beta<-betareg(C_elegans$Proportion~C_elegans$Pulses)

betareg 中的错误(C_elegans$Proportion ~ C_elegans$Pulses): 因变量无效,所有观测值必须在 (0, 1) 中

您能帮我为这些数据创建一个 beta 回归模型,以及如何制作相关图以显示它非常适合吗?

另外我需要为这些数据提出一个线性回归模型,谁能告诉我你认为如何做得更好?

【问题讨论】:

Beta 回归只允许开区间 (0,1) 中的值。问题是您的比例值正好是 1。 感谢罗兰!我该如何解决?删除那一行?还是有其他方法? 我不太确定您是否有足够的数据点来估计 beta 二项式的参数。如果您的目标是查看mutant = 0 与mutant =1 之间是否存在差异,您可以只使用二项式吗? 或者您是否有理由怀疑存在比例混合? 有两种菌株,一种突变了一种 WT,它们对给定的独立变量(脉冲)的反应不同,并且对它有反应或没有反应(在许多脉冲中,它们将在 80% 的案例......等等,我如何找到一个模型来预测他们的活动? 【参考方案1】:

这是将最后三列拟合到平面方程“Proportion = a + (b * Pulses) + (c * IndMutant)”的结果,参数 a = 1.0468289473684214E+00, b = -1.8650375939849695E -02,并且 c = -2.5850000000000006E-01 产生 R 平方 = 0.876 和 RMSE = 0.064。

(这里的“绝对误差”是指“非相对误差”)

【讨论】:

以上是关于R中的Beta回归模型的主要内容,如果未能解决你的问题,请参考以下文章

R线性回归模型构建:残差值回归值预测域置信区间

用 R 改变回归模型中的对比

R语言广义线性模型函数GLMR中有几种logistic回归扩展和变异robust包中的glmRob函数鲁棒logistic回归ms包中的lrm函数拟合序数逻辑回归

R语言回归模型中的Pr(>|t|)如何解读?Pr(>|t|)如何计算?

如何减少R中逻辑回归模型中的分类变量

r R中的自定义评估回归模型脚本用于Azure机器学习