为啥 Databricks 中没有来自 summary(glm) 的 t 分数或 p 值?

Posted

技术标签:

【中文标题】为啥 Databricks 中没有来自 summary(glm) 的 t 分数或 p 值?【英文标题】:Why no t-scores or p-values from summary(glm) in Databricks?为什么 Databricks 中没有来自 summary(glm) 的 t 分数或 p 值? 【发布时间】:2021-07-23 12:20:43 【问题描述】:

我正在使用带有 SparkR 包的 Databricks 来构建 glm 模型。除了我运行summary(lm1) 时,一切似乎都运行良好。我没有得到变量、估计、标准误差、t 值和 p 值(见下图 - 这是我希望看到的,而不是我得到的),我只是得到变量和估计。我唯一能想到的是数据集足够大(train1 是 1200 万行,test1 是 600 万行),所有估计都有 0 p 值。还有其他原因会发生这种情况吗??

library(SparkR)


rdf <- sql("select * from myTable") #read data
train1 <- rdf[rdf$ntile_3 != 1,]    # split into test and train based on ntile in table
test1 <- rdf[rdf$ntile_3 == 1,]

vtu1 <- c('var1','var2','var3')

lm1 <- glm( target ~., train1[,c(vtu1,'target' )],family = 'gaussian')  
pred1 <- predict(lm1, test1)

summary(lm1)

【问题讨论】:

函数summary() 通常调用 stats::summary.glm() 但也许在你的数据块环境中 summary() 调用不同的函数。如果您使用stats::summary.glm(lm1),您还会得到“奇怪”的结果吗?使用summ &lt;- stats::summary.glm(lm1); coef(summ) 的 p 值是多少? @jared_mamrot:我收到一个错误 - Error : $ operator not defined for this S4 class 【参考方案1】:

当您在模型中指定 family = Gaussian 时,您的 glm 模型似乎等同于标准线性回归模型(由 R 中的 lm 分析)。 有关您问题的广泛答案,请参见此处的示例:https://stats.stackexchange.com/questions/187100/interpreting-glm-model-output-assessing-quality-of-fit 如果你使用 lm 指定你的模型,你应该得到你想要的输出。

【讨论】:

以上是关于为啥 Databricks 中没有来自 summary(glm) 的 t 分数或 p 值?的主要内容,如果未能解决你的问题,请参考以下文章

为啥 Azure Databricks 需要将数据存储在 Azure 的临时存储中

在 DataBricks 中,如何为变量分配来自外部文件的字符串值?

为啥我不能从 azure data studio 或 databricks 查询突触无服务器视图?

来自 Databricks Notebook 的 COSMOS DB 写入问题

为啥这个简单的 SQL 代码在 Azure Databricks 中不起作用?

从 Databricks 到 Azure Synapse Analytics:当我们将数据帧加载到表中时,为啥需要将 parquet.writeLegacyFormat 设置为 True?