Soru:
Rasgele olmadan lojistik regresyonu simüle etmek mümkün müdür?
Haitao Du
2017-05-31 22:02:02 UTC
view on stackexchange narkive permalink

Doğrusal regresyonu rastgele olmadan simüle edebiliriz, bu da $ y = X \ beta + \ epsilon $ yerine $ y = X \ beta $ yapacağımız anlamına gelir. O zaman doğrusal bir modele uyarsak, katsayılar "temel gerçek" ile aynı olacaktır. İşte bir örnek.

  set.seed (0)
n <- 1e5
p <- 3
X <- matrisi (rnorm (n * p), ncol = p)
beta <- runif (p)
# y <- X% *% beta + rnorm (n) * 0,5
# rastgeleliği kaldır
y <-% X *% beta
dat <- data.frame (y = y, x = X)
lm.res = lm (y ~.-1, veri = dat)
norm (as.matrix (lm.res $ katsayılar - beta))
[1] 2.176037e-14
 

Sorum şu: lojistik regresyon ile benzer simülasyonu yapabilir miyiz? Bu sorudan rasgeleliğin kaldırılmasının, iki terimli dağılımdan örnek yerine deterministik ifade kullanılarak yapılabileceğini anladım.

  y <- ifelse (plogis (X% *% beta) >0.5,1,0)
 

yerine

  y <- rbinom (n, 1, prob = plogis (X% *% beta))
 

Ancak bunu yaparsak, tam bir ayrılma olacak ve katsayıları alamayız. Öte yandan, düzenlileştirme eklersek, katsayılar oluşturulan veriler olmayacaktır.

Öyleyse, "lojistik regresyondaki rastgeleliği ortadan kaldırmak" ve doğrusal regresyon durumu gibi tam "temel gerçek" katsayılarını çözmek için ne yapabilirim?

Kavramla ilgili bazı temel yanlış anlaşılmalar yaşadığımı hissediyorum, neyi kaçırıyorum?

Yanıtı oluşturmak için parametreleri bilmeniz gerektiğinden, bunu yapmak için istatistiksel bir neden göremiyorum.her şey tamamen belirleyicidir.
@MichaelChernick Temel gerçeği simüle etmek ve algoritma çıktısıyla karşılaştırmak istediğim bazı optimizasyon algoritmalarını test etmeye çalışıyorum, [burada] (https://stats.stackexchange.com/questions/282684/what-cause-x-beta-shift-from-stokastik-gradyan-iniş-karşılaştırma-lojistik) bir örnektir.
Iki yanıtlar:
AdamO
2017-05-31 22:28:13 UTC
view on stackexchange narkive permalink

Lojistik regresyon, klasik lineer regresyonda olduğu gibi "hata" terimine sahip değildir. Bunun istisnası, lojistik hata terimiyle eşikli doğrusal regresyon olabilir, ancak bu, lojistik regresyon modeliyle sonuçlanan, yaygın olarak kabul edilen bir olasılık modeli değildir. Bunun nedeni lojistik modellerin ortalama varyans ilişkisine sahip olmasıdır. Doğrusal bir regresyon modeline "hata terimi eklemenin" analoğu, aslında varyansın p * (1-p) ile yalnızca orantılı olduğu bir yarı terimli modeldir.

İlgili bir soru, çeşitli tasarımlar veya kopyalar üzerinde aynı olan regresyon modeli sonuçlarının nasıl elde edileceği olabilir. Bu, regresyon modelleme yazılımında bir "numara" ile yapılabilir. Öngörülen riskten, $ X $ tasarımından bağımsız olarak aynı lojistik regresyon sonuçlarıyla sonuçlanan, integral olmayan $ Y $ sonuçları üretebilirsiniz. Örneğin: x1 <- seq (-3, 3, 0.1) ve x2 <- rnorm (61) iki farklı tasarım olarak. Sizin durumunuzda olduğu gibi, y1 <- plogis (0.3 * x1) ve y2 <-plogis (0.3 * x2) , her ikisi de aynı lojistik regresyon modeli sonuçlarıyla sonuçlanır. $ x = 0 $ için günlük olasılık oranı ve günlük oran olarak 0.0.

  > glm (y1 ~ x1, aile = iki terimli)

Çağrı: glm (formül = y1 ~ x1, aile = iki terimli)

Katsayılar:
(Engelleme) x1
 -2.528e-16 3.000e-01
 

Bu, sorunuzla ilgilidir çünkü parametre tahminleri tam olarak olasılık modelinizde tanımlandığı gibidir, $ x $ tasarımından bağımsızdır ve ayrılmadan (ör. log olasılık oranları, $ \ beta = \ pm \ infty $).

Lojistik modelde kesirli sonuçları modellemek, sonucun gerçekten kesirli olabileceği ekolojik verileri analiz etmenin kabul edilen bir yoludur.Tesadüfen değil, bu aynı zamanda yarı terimli modellerin en çok kullanıldığı durumlarda bir modelleme türüdür.Ayrıca tesadüfi değil, "gizli lojistik regresyon" yapılırken dağılımın lojistik hata terimi için bir ölçek parametresi ile orantılı olduğunu düşünüyorum.

+1 Anladığımdan emin değilim "Tahmin edilen riskten, X'in tasarımından bağımsız olarak aynı lojistik regresyon sonuçlarıyla sonuçlanan, integral olmayan Y sonuçları üretebilirsiniz."daha fazla açıklayabilir misin?Ayrıca [burada] bir cevabınız var (https://stats.stackexchange.com/a/222805/113777), bahsettiğiniz şey bu mu?
@hxd1011 hayır, sağladığınız bağlantı GLM'leri tahmin etmek için alternatif bir yaklaşımdır.Bununla birlikte, bir noktayla ilgilidir: lojistik regresyonda varyans, sonucun bağımsız bir girdisi değil, ortalamanın bir fonksiyonudur.Bir Bernoulli sonucunu simüle etmek yerine beklenen $ y $ değerini girerseniz, istenen olasılık modeline göre sonuçlar üretiyorsunuz demektir.
kodunuz aklımı başımdan alıyor ..., kesirli bir sayı ile `glm`` family = binomial` çalıştırabileceğinizi bilmiyordum.bana bir uyarı verdi.ama yine de çalıştırılabilir ... "eval (family $ initialize): iki terimli glm'de tamsayı olmayan # başarılar!"
@hxd1011 Pratikte pek gündeme gelmez, ancak günün sonunda "fit.glm" bir işlevi maksimize ediyor."Y" nin değerlerinin ne olduğu pek umurunda değil, sadece fonksiyonun hesaplanan değerlerini havaya uçurmamaları.
Ruben van Bergen
2017-05-31 23:03:18 UTC
view on stackexchange narkive permalink

Her zaman lojistik regresyonu, doğrusal bir modele ikili bir karar uygularsanız ne olacağı olarak düşünmeyi severim. Yani, doğrusal modeli izleyen bazı temel ilişkiler olduğunu varsayalım: $$ y = X \ beta + \ varepsilon $$ burada $ X $ bağımsız değişkeniniz ve bu değişkendeki $ \ beta $ katsayısı (veya eğim) ve $ \ varepsilon $ rastgele parazittir. Ve sonra, $ y $ sürekli değişkenine, onu ikili bir sonuca eşleyen bir fonksiyon uyguladığımızı varsayalım: $$ f (y) = \ sol \ {\ başlar {matris} 0, ~ \ operatöradı {if} ~ y \ operatöradı {\ leqslant \ theta} \\ 1, ~ \ operatorname {if} ~ y \ operatorname {> \ theta} \ end {matris} \ sağ. $$ $ \ theta $ bir eşiktir. Belirli bir X $ değeri verildiğinde, bu işlevin $ 1 $ döndürme olasılığı nedir? $ \ Varepsilon $ 'ın Normalde ortalama $ 0 $ ve varyans $ \ sigma ^ 2 $ ile dağıtıldığını varsayarsak, bu olasılığı şu şekilde hesaplayabiliriz:

$$ p (f (y) = 1 | X) = p (y> \ theta | X) = \ int_ \ theta ^ \ infty N \ left (y; X \ beta, \ sigma ^ 2 \ sağ) dy $$

Başka bir deyişle, bu, eşiğin sağındaki Normal dağılımın altındaki alanı hesaplamaktır. Bu olasılığın, esasen lojistik regresyon modelinin tanımlamaya çalıştığı şey olduğuna dikkat edin. Ve gerçekten, bu olasılığı $ X $ 'ın bir fonksiyonu olarak çizerseniz, lojistik fonksiyona oldukça yakın bir şekil elde edersiniz (aslında lojistik fonksiyon genellikle kümülatif Normal dağılıma uygun bir yaklaşım olarak kullanılır).

Eşiğin yakınındaki $ X \ beta $ değerleri için, $ y $ 'ın eşiğin üzerinde olma olasılığı 0,5 $' a yakındır, çünkü $ \ varepsilon $ gürültüsü sonucu her iki şekilde de etkileyebilir. $ X $ 'ı artırdıkça, $ X \ beta $ $ \ theta $' dan uzaklaşacak ve $ f (y) = 1 $ daha olası hale gelecektir. Önemli olan, $ p (f (y) = 1 | X) $ değerinin $ X $ ile ne kadar hızlı artacağına iki şeye bağlıdır: $ \ beta $ eğimi ve $ \ sigma ^ 2 $ gürültü değişimi. Daha doğrusu, $ \ frac {\ beta} {\ sigma} $ oranına bağlıdır. Lojistik regresyondan elde ettiğiniz (beklenen) katsayıyı belirleyen bu (sinyal-gürültü) oranıdır. Başka bir deyişle, bir lojistik regresyondaki katsayıları, belirli bir sonucun olasılığını bir miktar artırmak için verilerdeki gürültüye göre her bir bağımsız değişkenin ne kadar değişmesi gerektiğini kontrol eden bir lojistik regresyon olarak düşünebilirsiniz. miktar.

Şimdi sorunuza gelelim: Tüm rastlantısallığı ortadan kaldırmanın, yani gürültü yapmanın mümkün olup olmadığını soruyorsunuz. Bu, $ \ sigma $ 'nın $ 0 $' a eşit olduğu ve dolayısıyla $ \ frac {\ beta} {\ sigma} $ 'nın tanımsız (veya "sonsuz") olacağı anlamına gelir. Bu, gürültü olmadığında katsayıları tahmin edemeyeceğinizi bulduğunuz şeyi açıklar. Aslında, gürültüsüz elde ettiğiniz mükemmel ayrımı, bağımsız değişkeniniz üzerindeki sonsuz bir katsayıya karşılık gelecek şekilde düşünebilirsiniz, çünkü ($ X \ beta $ eşiğinin $ \ theta $ yakınında) yalnızca $ X $ 'ı sonsuz küçük bir değere değiştirmeniz gerekir. $ p (y> \ theta | X) = 0 $ 'dan $ p'ye (y> \ theta | X) = 1 $' a kadar gitmek için miktar.

Düzenleme: Aslında yapabileceğiniz bir şey, verilerinizi simüle etmek için iki terimli bir dağılımdan örnekler almak yerine, bu örnekleri beklentileriyle, yani simüle edilmiş lojistik işlev tarafından tahmin edilen olasılıkla değiştirin.Bu şekilde, sınırlı bir numuneyi simüle etmekten (yani örnekleme değişkenliği) kaynaklanan rastgeleliği ortadan kaldırmış olursunuz ve bu nedenle katsayı tahminleriniz temel gerçeğe eşit olmalıdır (çünkü bu değerlere tam olarak uyan bir lojistik fonksiyon vardır).

Probit regresyonunu tanımladığınıza dikkat edin (N (0, 1) 'i genellik kaybı olmadan kullanabilirsiniz, bu sadece katsayılarınızı ölçeklendirir) ki bu aslında Lojistik regresyona çok yakındır, ancak bahsettiğiniz gibi tam olarak aynı değildir.


Bu Soru-Cevap, otomatik olarak İngilizce dilinden çevrilmiştir.Orijinal içerik, dağıtıldığı cc by-sa 3.0 lisansı için teşekkür ettiğimiz stackexchange'ta mevcuttur.
Loading...