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

How to extract data distribution type (e.g. Poisson, binomial) from fitted GLM model object in Julia?

如何在Julia中提取一般线性模型中指定的数据分布?例如,下面我安装了一个玩具示例 Poisson GLM。我想从模型中提取一个字符串 'Poisson' 。同样,如果用数据分布指定模型 = Binomial(),我希望字符串为 return '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。

前段时间在 Julia Discourse 上讨论过这个 here,你可以用:

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