私は、@ Alecosの優れた答えの分布を再確認しません(標準的な結果です。別の方法については、こちらを参照してください)良い議論)が、私は結果についての詳細を記入したいです!まず、と値の範囲に対してヌル分布はどのように見えますか?@Alecosの回答のグラフは、実際の重回帰で発生することを非常によく表していますが、小さなケースからより簡単に洞察を収集できる場合もあります。平均、モード(存在する場合)、標準偏差を含めました。グラフ/表は良い目玉に値する:フルサイズで表示するのが最適R2nknkBeta(k−12,n−k2)R2nk。より少ないファセットを含めることもできましたが、パターンはそれほど明確ではありませんでした。R
読者がと異なるサブセットで実験できるようにコードを追加しました。nk
形状パラメーターの値
グラフの配色は、各形状パラメーターが1未満(赤)、1に等しい(青)、または複数(緑)であるかどうかを示します。左側ショーの値ながら右側にあります。以降、等差数列でその値が大きくなるの公差によって我々は(我々のモデルに回帰を追加)列から列に右に移動します一方、固定、は減少します。合計は、各行に対して(特定のサンプルサイズに対して)固定されています。代わりにを修正する場合β α = K - 1αβ 1α=k−12 Nβ=N-K12n 1β=n−k2 α+β=N-112 Kαβ1α+β=n−12k列を下に移動して(サンプルサイズを1増やします)、は一定のままで、は増加します。回帰項では、はモデルに含まれるリグレッサの数の半分で、は残差自由度の半分です。分布の形状を決定するには、または 1に等しい場所に特に関心があります。αβ αβαβ12αβαβ
代数はに対して簡単です:なのでです。これは、実際、左側の青色で塗りつぶされたファセットプロットの唯一の列です。同様に、場合は(左側の列は赤)、場合は(列以降、左側は緑)です。K - 1αk−12=1α < 1 K < 3 、K = 2 α > 1 K > 3 、K = 4k=3α<1k<3k=2α>1k>3k=4
ため我々は、従って。これらのケース(青色の右側でマークされている)がファセットプロットを斜めに切断していることに注意してください。以下のために我々が得(斜線の左側に緑色の左側位置とのグラフ)。以下のために我々は、必要がで:、私のグラフ上の唯一の一番右の例を伴う我々は持っていると分布が縮退しているが、どこがプロットされます(右側が赤)。n − kβ=1n−k2=1k=n−2β>1k<n−2β<1k>n−2n=kβ=0n=k−1β=12
PDFはであるため、if(およびif )その後、 as。我々は、グラフでこれを見ることができます:左側が赤斜線されたときに、0に動作を観察同様とき次いでような。右側が赤いところを見てください!f(x;α,β)∝xα−1(1−x)β−1α<1f(x)→∞x→0β<1f(x)→∞x→1
対称性
グラフの最も人目を引く特徴の1つは対称性のレベルですが、ベータ分布が関係する場合、これは驚くべきことではありません!
場合、ベータ分布自体は対称です。これは、パネルを正しく識別する、、、および。分布が全体で対称である範囲は、そのサンプルサイズのモデルに含める回帰変数の数によって異なります。もしの分布約0.5完全に対称です。含める変数の数がそれよりも非対称になり、確率質量の大部分が近づくと、α=βn=2k−1(k=2,n=3)(k=3,n=5)(k=4,n=7)(k=5,n=9)R2=0.5k=n+12R2R2=0; さらに変数を含めると、近づきます。それを忘れないでくださいその数の切片を含み、そして私たちがnullの下で働いているので、回帰変数が正しく指定されたモデルに係数ゼロを持つべきであるということ。R2=1k
明らかに対称性もある間、所与のいずれかの分布すなわちファセットグリッド内の任意の行、。たとえば、と比較します。これは何が原因ですか?の分布は、わたるの鏡像であることを思い出してください。今、我々は持っていたおよび。を考えてみてください:n(k=3,n=9)(k=7,n=9)Beta(α,β)Beta(β,α)x=0.5αk,n=k−12βk,n=n−k2k′=n−k+1
αk′,n=(n−k+1)−12=n−k2=βk,n
βk′,n=n−(n−k+1)2=k−12=αk,n
したがって、これは、固定されたサンプルサイズに対してモデル内のリグレッサの数を変化させるときの対称性を説明します。また、特別な場合としてそれ自体が対称である分布についても説明します。それらについては、なので、それらはそれ自体と対称である必要があります。k′=k
与えられたサンプルサイズのために:これは、私たちは重回帰について推測していない可能性があります何かを伝えと本物の関係していると、何の説明変数がないと仮定すると、使用モデルの説明変数を加えた切片が同じ分布を有します持つモデルの場合との残りの自由度の残留。nYR2k−11−R2k−1
特別な配布
とき我々は持っている有効なパラメータではありません。ただし、、分布はようなスパイクで縮退します。これは、データポイントと同じ数のパラメーターを持つモデルについて私たちが知っていることと一致しており、完全に適合しています。グラフに縮退分布を描画していませんが、平均、モード、標準偏差を含めました。k=nβ=0β→0P(R2=1)=1
および場合、アークサイン分布であるを取得します。これは対称()およびバイモーダル(0および1)です。これはと両方(両側に赤でマーク)の唯一のケースであるため、サポートの両端で無限大になる唯一の分布です。k=2n=3Beta(12,12)α=βα<1β<1
分布で唯一のベータ分布である矩形(均一)。0から1までの値はすべて同様に可能性があります。組み合わせのみ及びのための発生は、及び(両側青マーク)。Beta(1,1)R2knα=β=1k=3n=5
これまでの特別なケースの適用範囲は限られていましたが、および(左が緑、右が青)が重要です。今、我々は持っているので[0、1]のべき乗分布。もちろん、およびで回帰を実行することはまずありません。これは、この状況が発生したときです。しかし、および場合、前の対称性の引数、またはPDFのいくつかの自明な代数によって、これは2つの回帰変数と非自明なサンプルサイズ切片を使用した重回帰の頻繁な手順ですα>1β=1f(x;α,β)∝xα−1(1−x)β−1=xα−1k=n−2k>3k=3n>5R2下の[0、1]の反射べき乗則分布にます。H0これはおよび対応するため、左に青、右に緑でマークされます。α=1β>1
また、での三角分布とその反射気づいたかもしれません。我々は彼らから認識することができとこれらはべき乗則とパワーがある反射電力則分布の単なる特殊な例であることを。(k=5,n=7)(k=3,n=7)αβ2−1=1
モード
もし及び、プロット内のすべての緑、有する凹面である、およびベータ分布固有モードます。モードをと、これらをとでと、条件はおよびになります。α>1β>1f(x;α,β)f(0)=f(1)=0α−1α+β−2knk>3n>k+2k−3n−5
他のすべてのケースは上記で処理されました。不等式を緩和してを許可する場合、および(同様に)の(緑-青)べき法則分布を含めます。これらのケースには明らかにモード1があり、ため、実際には前の式と一致します。代わりにを許可したが、まだ要求した場合、およびの(青緑)べき乗則分布が見つかります。モードは0で、これはと一致し。ただし、両方の不等式を同時に緩和して、を許可する場合β=1k=n−2k>3n>5(n−2)−3n−5=1α=1β>1k=3n>53−3n−5=0α=β=1、一意のモードを持たないおよびの(すべて青)均一分布を見つけます。さらに、この場合、前の式は不定形を返すため、適用できません。k=3n=53−35−5=00
場合、モード1の縮退分布が得られます。(回帰項では、ため、自由度は1つしかありません)、 as、および(回帰項ではため、切片と1つのリグレッサーを含む単純な線形モデル)、 as。これらは、0と1で2峰性であると(単純な線形モデルを3つの点に当てはめる)の異常な場合を除いて、ユニークなモードです。 n=kβ<1n=k−1f(x)→∞x→1α<1k=2f(x)→∞x→0k=2n=3
平均
質問はモードについて尋ねましたが、ヌルの下の平均も興味深いです-それは非常に単純な形式持っています。サンプルサイズが固定されている場合、場合に平均値が1になるまで、より多くのリグレッサがモデルに追加されるにつれて、算術の進行が増加します。ベータ分布の平均はため、を固定した、合計は一定であるがは0.5モデルに追加された各リグレッサに対して。R2k−1n−1k=nαα+βnα+βα
αα+β=(k−1)/2(k−1)/2+(n−k)/2=k−1n−1
プロットのコード
require(grid)
require(dplyr)
nlist <- 3:9 #change here which n to plot
klist <- 2:8 #change here which k to plot
totaln <- length(nlist)
totalk <- length(klist)
df <- data.frame(
x = rep(seq(0, 1, length.out = 100), times = totaln * totalk),
k = rep(klist, times = totaln, each = 100),
n = rep(nlist, each = totalk * 100)
)
df <- mutate(df,
kname = paste("k =", k),
nname = paste("n =", n),
a = (k-1)/2,
b = (n-k)/2,
density = dbeta(x, (k-1)/2, (n-k)/2),
groupcol = ifelse(x < 0.5,
ifelse(a < 1, "below 1", ifelse(a ==1, "equals 1", "more than 1")),
ifelse(b < 1, "below 1", ifelse(b ==1, "equals 1", "more than 1")))
)
g <- ggplot(df, aes(x, density)) +
geom_line(size=0.8) + geom_area(aes(group=groupcol, fill=groupcol)) +
scale_fill_brewer(palette="Set1") +
facet_grid(nname ~ kname) +
ylab("probability density") + theme_bw() +
labs(x = expression(R^{2}), fill = expression(alpha~(left)~beta~(right))) +
theme(panel.margin = unit(0.6, "lines"),
legend.title=element_text(size=20),
legend.text=element_text(size=20),
legend.background = element_rect(colour = "black"),
legend.position = c(1, 1), legend.justification = c(1, 1))
df2 <- data.frame(
k = rep(klist, times = totaln),
n = rep(nlist, each = totalk),
x = 0.5,
ymean = 7.5,
ymode = 5,
ysd = 2.5
)
df2 <- mutate(df2,
kname = paste("k =", k),
nname = paste("n =", n),
a = (k-1)/2,
b = (n-k)/2,
meanR2 = ifelse(k > n, NaN, a/(a+b)),
modeR2 = ifelse((a>1 & b>=1) | (a>=1 & b>1), (a-1)/(a+b-2),
ifelse(a<1 & b>=1 & n>=k, 0, ifelse(a>=1 & b<1 & n>=k, 1, NaN))),
sdR2 = ifelse(k > n, NaN, sqrt(a*b/((a+b)^2 * (a+b+1)))),
meantext = ifelse(is.nan(meanR2), "", paste("Mean =", round(meanR2,3))),
modetext = ifelse(is.nan(modeR2), "", paste("Mode =", round(modeR2,3))),
sdtext = ifelse(is.nan(sdR2), "", paste("SD =", round(sdR2,3)))
)
g <- g + geom_text(data=df2, aes(x, ymean, label=meantext)) +
geom_text(data=df2, aes(x, ymode, label=modetext)) +
geom_text(data=df2, aes(x, ysd, label=sdtext))
print(g)