2

正規分布していない応答変数と説明変数があるとします。最初にこれら 2 つの変数を作成しましょう (R でコード化)。

set.seed(12)
resp = (rnorm(120)+20)^3.79
expl = rep(c(1,2,3,4),30)

線形モデルを実行すると、残差が正規分布していないことがわかりました。(シャピロを実行しても、残差が正規分布していないことを正当化するには不十分かもしれませんが、それは私の質問のポイントではありません)

m1=lm(resp~expl)
shapiro.test(residuals(m1))
0.01794

したがって、説明変数を変換したいと思います (たとえば、Box-Cox を使用した変換を探します)。

m2=lm(resp^(1/3.79)~expl)
shapiro.test(residuals(m2))
0.4945

OK、これで私の残差は正規分布になりました。問題ありません! ここで、データとモデルをグラフィカルに表現したいと考えています。しかし、説明変数を変換された形式でプロットしたくはありません。なぜなら、その直感的な意味の多くが失われるからです。したがって、私は:

plot(x=expl,y=resp)

モデルを追加したい場合はどうすればよいですか? 私はこれを行うことができました

abline(m2) # m2 is the model with transformed variable

しかしもちろん、線は表されたデータに適合しません。私はこれを行うことができます:

abline(m1) # m1 is the model with the original variable.

しかし、それは私が統計のために実行したモデルではありません! m2によって予測された線をデータに適合するように再変換するにはどうすればよいですか?

4

2 に答える 2

2
plotexpl <- seq(1,4,length.out=10)
predresp <- predict(m2,newdata=list(expl=plotexpl))

lines(plotexpl, predresp^(3.79))

ここでは、統計的な問題については説明しません (たとえば、検定が有意でないということは、H0 が真であり、モデルが平均より優れていないことを意味するわけではありません)。

于 2013-08-29T09:24:47.800 に答える