首页 > 解决方案 > 如何从 Julia 中的拟合 GLM 模型对象中提取数据分布类型(例如泊松、二项式)?

问题描述

如何提取中的一般线性模型中指定的数据分布Julia?例如,下面我拟合了一个玩具示例 Poisson GLM。我想从模型中提取一个字符串“Poisson”。同样,如果模型是用数据分布 = 指定的Binomial(),我希望字符串返回“二项式”。

### Load packages required 
using DataFrames
using GLM

### Simulate some data for a dummy GLM 
data = DataFrame(X=[1,2,3,4,5,6,7,8,9,10], Y=[2,4,7,3,1,6,3,2,5,1])

### Fit Poisson GLM
m1 = fit(GeneralizedLinearModel,
         @formula(Y ~ X),
         data,
         Poisson(),
         LogLink())

最终,我想编写一个接受if语句的函数,if == Poisson然后在哪里做 X,else做 Y。

标签: juliadistributionglm

解决方案


刚才在 Julia Discourse 上讨论过这个问题你可以这样做:

julia> typeof(m1).parameters[1].parameters[1].parameters[2]
Poisson{Float64}

推荐阅读