Rのglmファミリー引数で対数正規分布を指定するにはどうすればよいですか?


17

簡単な質問:RのGLMファミリ引数で対数正規分布を指定するにはどうすればよいですか?これをどのように達成できるかわかりませんでした。対数正規(または指数)がファミリー引数のオプションではないのはなぜですか?

R-Archivesのどこかで、対数正規分布を指定するために、GLMでガウスに設定されたファミリのログリンクを使用するだけでよいことを読みました。ただし、これは非線形回帰に適合し、Rは開始値を求め始めるため、これはナンセンスです。

GLMの対数正規(または指数)分布を設定する方法を知っている人はいますか?


1
これは[r]タグを使用してSO上になければなりません。
-DWin

4
@DWin-私は一度は賛成しません-私はよくQをSOに移行することを自分で投票しますが、この質問には重要な統計的内容があります。
ワンストップ

回答:


8

gamlssのパッケージには、リンク機能では、いくつかの様々な、あなたは対数正規分布と指数分布、および他のたくさんの両方を持つ一般化加法モデルをフィットすることを可能にすると、あなたが望むなら、罰せスプラインに基づく半または非パラメトリックモデルを使用しました。使用しているアルゴリズムに関するドキュメントと、リンク先のサイトにリンクしているドキュメントとサンプルが公開されています。


10

指数モデルをglm次のように当てはめることについて:glmfamily = Gammaで関数を使用する場合summary.glm、分散パラメーターを1に固定するために、サポート機能も使用する必要があります。

?summary.glm
fit <- glm(formula =..., family = Gamma)
summary(fit,dispersion=1) 

そして、私が指摘するつもりだったが、jbowmanが私にそれを打ち負かしたので、「gamlss」パッケージは対数正規フィッティングを提供します:

help(dLOGNO, package=gamlss.dist)

1
分散パラメーター(+1)の修正については知りませんでした。
-jbowman

私は別の投稿でこの解決策を見たと思います。ただし、2つの問題があります。まず、この場合、要約のみが調整されますが、抽出する必要があるパラメーター(残差など)は1の分散に調整されませんか、それとも間違っていますか?第二に、データセットにゼロがあるため、family = Gammaに適合できません(実際、これらは非常に小さい値ですが、ゼロに設定されていました)。gamlss.distパッケージをチェックアウトします!
イェンス

1
まあ、ゼロの問題はRまたはの問題ではありませんglmが、数学の場合、...そしてパラメータ推定がある場合、残差の構築はRでは簡単です。SOでその質問を[r]タグで投稿して確実に迅速な応答が得られます。
DWin

9

対数正規分布は指数分布の分布ではないため、対数正規はオプションではありません。一般化線形モデルは、指数族の分布にのみ適合します。

指数分布指数ファミリーにあるので、指数がオプションではない理由はあまりわかりません(期待どおり)。私がよく知っている他の統計ソフトウェアでは、推定ではなく形状(スケールまたは分散)パラメーターが1に固定されたガンマ分布の特殊なケースとして扱うことにより、指数分布をGLMとして適合させることができます。glm()ただし、Rの関数を使用してこのパラメーターを修正する方法はわかりません。1つの選択肢はsurvreg()survivalパッケージの関数をで使用することdist="exponential"です。

対数正規分布に従うと思われる応答データある場合、回帰モデルをそれに適合させる通常の方法は、それを対数変換することです。には正規分布があるためです。最も単純な場合は、通常の(つまり、一般化されていない)線形モデルに適合させることです。結果のモデルは、ログリンクでGLMを適合させることができる場合に得られるモデルとはまったく異なります。ただし、ログY E 対数Y ログE Y ylog(y)EログYログEY


8
対数正規分布は指数関数族に属します-それはあなたが与えたまさにそのリンクでもそうです!ここの2番目の文、「逆ガウス」のすぐ上にあるこの表を参照してください。正確な方法の詳細(つまり、が与えられています)。この問題は、定期的な争点です。「指数関数的ファミリー」と言うとき、私たちが話していることを制限する場合、対数正規分布は除外されるかもしれませんが、あなたのリンクで与えられた定義はそれを含みます。hバツTバツAθ
Glen_b -Reinstateモニカ

「一般化線形モデルは指数族からの分布のみに適合できる」というステートメントのリファレンスがありますか?
ヘンリック

5

対数正規GLMのフィッティングは、glm()関数の分布やリンクオプションとは関係ありません。「対数正規」という用語は、この意味では非常に紛らわしいですが、応答変数が正規分布し(family = gaussian)、次の方法でこの変数に変換が適用されることを意味します。

log.glm <- glm(log(y)~x, family=gaussian, data=my.dat)

ただし、この対数正規glmを異なる分布(ガンマなど)を使用する他のglmsと比較する場合、AIC()関数を修正する必要があります。この場合、誰かがこれらの誤ったAIC()の代替案を知っていますか?


2
サイト@CHarmaへようこそ。質問がある場合は、回答に含めるのではなく、右上隅の灰色の「質問をする」をクリックしてください。
GUNG -復活モニカ

1

次のコマンドを使用してみてください。

log.glm = glm(y ~ x, family=gaussian(link="log"), data=my.dat)

ここで動作し、AICは正しいようです。


7
この答えは間違っています。これは、yの条件付き分布がガウス分布であり、ログ平均が線形予測子に等しいことを意味します。確かにOPの説明とは異なります。
マイケルM
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.