9

バックグラウンド

現在、多重予測線形モデルを作成し、診断プロットを生成して回帰の仮定を評価しています。(これは、私が現在愛用している重回帰分析の統計クラスのためのものです:-)

私の教科書 (Cohen、Cohen、West、および Aiken 2003) では、次のことを確認するために、各予測子を残差に対してプロットすることを推奨しています。

  1. 残差は予測子と体系的に共変しません
  2. 残差は、モデル内の各予測子に関して等分散です

ポイント(2)について、私の教科書には次のように書かれています。

一部の統計パッケージでは、アナリストは、残差の平均 (0 ライン)、平均よりも 1 標準偏差、残差の平均よりも 1 標準偏差が低い位置に最も低い適合ラインをプロットできます。例}、2 つの線 {mean + 1sd および mean - 1sd} は、lowess {0} 線とほぼ平行のままであり、残差の分散が X の関数として変化しないという解釈と一致しています (p. 131)。

レスラインを変更するにはどうすればよいですか?

「0-line」で散布図を生成する方法を知っています。

    # First, I'll make a simple linear model and get its diagnostic stats
    library(ggplot2)
    data(cars)
    mod <- fortify(lm(speed ~ dist, data = cars))
    attach(mod)
    str(mod)

    # Now I want to make sure the residuals are homoscedastic
    qplot (x = dist, y = .resid, data = mod) + 
    geom_smooth(se = FALSE) # "se = FALSE" Removes the standard error bands

しかし、0行、「平均+ 1sd」および「平均-1sd」の行が重ねられるプロットを使用ggplot2および生成する方法を知っている人はいますか? qplotそれは奇妙な/複雑な質問ですか?

4

3 に答える 3

4

謝罪

皆さん、無知をお詫びしたいと思います。ハドリーは絶対に正しいです、そして答えはずっと私の目の前にありました。私が疑ったように、私の質問は、プログラム的な無知ではなく、統計的なものから生まれました。

68%の信頼区間を無料で取得

geom_smooth()デフォルトはloessスムージングで取引の一部として+1sdと-1sdの行を重ね合わせます。ハドリーが「それは68%の信頼区間ではないか」と言ったとき、それが意味していました。私はそれが68%の間隔であるということを完全に忘れて、私がすでに行う方法を知っている何かを探し続けました。を指定して、コードで信頼区間を実際にオフにたことは役に立ちませんでしたgeom_smooth(se = FALSE)

私のサンプルコードはどのように見えるべきでしたか

# First, I'll make a simple linear model and get its diagnostic stats.
library(ggplot2)
data(cars)
mod <- fortify(lm(speed ~ dist, data = cars))
attach(mod)
str(mod)

# Now I want to make sure the residuals are homoscedastic.
# By default, geom_smooth is loess and includes the 68% standard error bands.
qplot (x = dist, y = .resid, data = mod) + 
geom_abline(slope = 0, intercept = 0) +
geom_smooth() 

私が学んだこと

ハドリーは、私がずっと欲しかったものを手に入れるための本当に美しくシンプルな方法を実装しました。しかし、私はレスラインに焦点を合わせていたため、68%の信頼区間が必要なラインによって制限されているという事実を見失いました。みなさん、ご迷惑をおかけして申し訳ありません。

于 2010-03-30T03:19:12.393 に答える
1

データから +/- 標準偏差値を計算し、それらの近似曲線をプロットに追加していただけますか?

于 2010-03-28T01:33:44.170 に答える
1

私の質問「lm または loess 関数を変更する..」を見てください。

あなたの質問にうまく従ったかどうかはわかりませんが、おそらく:

+ stat_smooth(method=yourfunction)

here の説明に従って関数を定義すれば、機能します。

于 2010-03-29T12:26:10.470 に答える