回帰用のボックスコックス変換


9

1つの予測子(たとえば(x、y)など)を使用して、いくつかのデータに線形モデルを適合させようとしています。データは、xの値が小さい場合、y値は直線にぴったりとフィットしますが、x値が増加すると、y値はより変動しやすくなります。そのようなデータの例を次に示します(Rコード)

y = c(3.2,3.4,3.5,3.8,4.2,5.5,4.5,6.8,7.4,5.9)
x = seq(1,10,1)

以下に示すように、単純に線形近似を行うよりも、データをより適切に近似できる電力変換(おそらくボックスコックス)が存在するかどうか知りたいです。

fit = lm(y ~ x)

私が理解しているように、Box Coxのような変換の目的は、より適切にフィットすることではなく、モデルの仮定を満たすことです。それはより良い適合、より悪い適合、またはあまり変化がないかもしれませんが、それは仮定に違反しない適合になります。
ピーターフロム-モニカの回復

非線形変換は、線形関係を非線形にします(ただし、xも変換して修正できる場合があります)。ただし、変換によって曲線の曲線がまっすぐになり、同時に不均一分散性が低下する場合もあります(同じ変換で両方を同時に実行できるとは限りません)。そのデータについては、ログ変換がいくらか役立ちます。
Glen_b-2012

4
の2つの極端な値と中間(5番目の)値を使用して、stats.stackexchange.com / questions / 35711 /…に示されている方法は、関係を線形化するために対数(パラメーター0のBox-Cox変換)が適切であることを示しています。最初、6番目、最後の値を使用すると、逆数(パラメーター-1)が適切であることを示します。これは、0〜-1のほとんどすべてのパラメーターが機能する可能性があることを示唆しています。データの数が非常に少ないことを考えると、範囲は驚くに値しません。これらのデータの変動を安定させる単調な再表現はありませんy
whuber

回答:


6

Rが既にインストールされているMASSパッケージには、boxcox()使用できる機能があります。データを読み込んだ後、次のようにします。

library(MASS)
boxcox(y ~ x)

次に、これが生成するグラフを見てください。これは、boxcox変換パラメーターの95%信頼区間をグラフで示しています。しかし、これを行うのに十分なデータ(n = 10)が実際にはないため、結果の信頼区間はほぼ-2から2になり、最尤推定値は約0になります(前述のように対数変換)。実際のデータにさらに観測がある場合は、これを試す必要があります。

他の人が言ったように、この変換は実際に分散を安定化しようとしています。これは理論からは明白ではありませんが、それが行うことは、一定の分散を仮定する正規分布ベースの尤度関数を最大化しようとすることです。正規ベースの尤度を最大化すると、残差の分布を正規化しようとする人がいると考えるかもしれませんが、実際には、尤度を最大化するための主な貢献は、分散の安定化にあります。最大化する可能性が一定の分散正規分布ファミリーに基づいていることを考えると、これはそれほど驚くべきことではありません。

XLispStatでスライダーベースのデモを書いたことがありますが、これはこれを明確に示しています!


3

線形関係があるが分散が等しくない場合、通常、xとyの両方を変換して、等しい分散の線形関係を取得する必要があります(または、変換されていない変数で重み付き最小二乗回帰を使用します)。

AVASプロシージャを使用して、可能な変換を提案できます。


yバツ15バツ510y

@whuberに同意する
ブロッコリー

1
この特定のデータセットについて@whuberに同意します。このデータはすぐに説明のために作成されたと想定しました(したがって、ランダム性/現実の人間の欠如を示しています)。私の回答は、不平等の一般的なケースに対するより一般的なアドバイスです。
Greg Snow

分散がxとともに増加すると仮定するglmと、ポアソンリンク関数を含むフレームワークはそれをカットしますか?
RomanLuštrik

3
y

1

まあ、Rではこれを試すことができます:

library(MASS)
boxcox(y~x)
plot(1/y^2~x) # since the profile likelihood has a maximum near 2

ここに画像の説明を入力してください

しかし、それは本当に「データへのより良い適合」によってあなたが何を意味するかに依存します


-2

xのすべてのデータが負でない場合は、ボックスコックス変換を使用して... matlabを使用して変換のパラメーターラムダの理想的な値を推定できます... http://www.mathworks.in/ help / finance / boxcox.html


1
ここで「理想的」とは、質問で求められた以外のことを意味します。質問は分散を安定させることを目的としていますが、Matlabソリューションは分散をできるだけ正規分布に近づけることを目的としています。
whuber
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.