在R中如何将t分布与glm()一起使用?

在R中如何将t分布与glm()一起使用?,r,glm,R,Glm,我已经非常确定,我用标准的lm()回归生成的残差可以合理地用6个自由度的t分布建模。我想将glm()用于该错误模型,但我看不出t适合其中一个族。任何关于与t配合良好的glm()替代品的建议,或作为t的替代品(或超集)的合理家族?Packageheavy都可以执行t-student回归模型。以下是文档中的一个示例: library(heavy) data(ereturns) fit <- heavyLm(m.marietta ~ CRSP, data = ereturns, family =

我已经非常确定,我用标准的
lm()
回归生成的残差可以合理地用6个自由度的t分布建模。我想将
glm()
用于该错误模型,但我看不出t适合其中一个族。任何关于与t配合良好的
glm()
替代品的建议,或作为t的替代品(或超集)的合理家族?

Package
heavy
都可以执行t-student回归模型。以下是文档中的一个示例:

library(heavy)
data(ereturns)
fit <- heavyLm(m.marietta ~ CRSP, data = ereturns, family = Student(df = 6))
summary(fit)
# Linear model under heavy-tailed distributions
# Data: ereturns; Family: Student(df = 2.83727) 
# 
# Residuals:
#  Min        1Q    Median        3Q       Max 
# -0.142237 -0.036156  0.003433  0.041310  0.546533 
# 
# Coefficients:
#  Estimate Std.Error Z value p-value
# (Intercept) -0.0072   0.0082   -0.8876  0.3748
# CRSP         1.2637   0.1902    6.6459  0.0000
# 
# Degrees of freedom: 60 total; 58 residual
# Scale estimate: 0.002520795
# Log-likelihood: 71.81294 on 3 degrees of freedom
库(重型)
数据(E)

拟合“误差”…你是指残差吗?是的,我是指残差…GLM不假设残差的分布,所以这一点是没有意义的。呼!我会调查这件事,然后回去集合!我安装了Heavy,并且遇到了一个令人费解的问题:当我运行heavyLm()时,我得到消息
警告消息:在lsfit(x,y,intercept=FALSE):“x”矩阵是共线的
,当我对结果调用
summary
时,我收到错误
残差:分位数错误。默认值(resid):如果'na.rm'为FALSE,则缺少值且不允许使用NaN
听起来您的数据有问题。有些变量可能是100%相关的。但我不能不看你的数据就知道。如果您想问这个问题,我建议您发布一个不同的问题,并添加一个可复制的示例。我已经通过对所有数字列应用caret::findLinearCombos()来确认不存在共线列,因此我完全感到困惑。好吧,我想出来了,我有一个虚拟列,对于一个因子来说是多余的。愚蠢的我,它现在不见了。。。