Rütbe eksikliği nedir ve bununla nasıl başa çıkılır?


87

Kullanarak bir lojistik regresyon takılması lme4 ile biter

Error in mer_finalize(ans) : Downdated X'X is not positive definite. 

Bu hatanın olası bir nedeni görünüşte eksiklik derecesidir. Rütbe eksikliği nedir ve nasıl ele almalıyım?


2
Değişkenlerinizden hiçbirinin sabit olmadığını kontrol etmenizi öneririm (örn. Sapma yok). Eğer o puan için iyiyseniz, karmaşık değerli değişkenleriniz veya sonsuz değişkenleriniz olup olmadığını kontrol edin.
tristan

3
Normalde, değişkenlerinizden birinin veya daha fazlasının doğrusal olarak bağımsız olmadığı, çünkü sorunlu değişkenin diğer değişkenlerin bir kombinasyonu olarak ifade edilebileceği anlamına gelir. R paketi caret, findLinearCombossize sorunlu değişkenlerin hangileri olduğunu söyleyen bir fonksiyona sahiptir .
richiemorrisroe 25:12

2
Richemorrisroe ile aynı fikirdeyim. X'X'in kesin bir pozitif olmadığını söylediğinden, X'X tasarım matrisinin tekil olduğunu ve bu nedenle tam bir sıraya sahip olmadıklarını ima ettiklerini düşünüyorum. Dolayısıyla, değişkenlerin en az biri, diğer değişkenlerin kesin doğrusal kombinasyonları olarak yazılabilir.
Michael Chernick

Yanıtlar:


123

Bu bağlamdaki sıralama eksikliği, istediğiniz modeli tahmin etmek için verilerinizde yeterli bilgi bulunmadığını söylüyor. Birçok kaynaktan kaynaklanıyor. Burada, açıkça lojistik regresyondan ziyade oldukça genel bir bağlamda modelleme hakkında konuşacağım, fakat her şey yine de spesifik bağlam için geçerlidir.

Eksikliği sadece çok az veriden kaynaklanabilir. Genel olarak, n parametresini n veri noktasından daha az olan benzersiz bir şekilde tahmin edemezsiniz. Bu, ihtiyacınız olan her şeyin n noktası olduğu anlamına gelmez, süreçte herhangi bir ses varmış gibi, oldukça kötü sonuçlar alırsınız. Algoritmanın tüm verileri temsil edecek bir çözümü seçmesine yardımcı olmak için asgari hata anlamında daha fazla veriye ihtiyacınız vardır. Bu yüzden en küçük kareler araçlarını kullanıyoruz. Ne kadar veriye ihtiyacınız var? Bana her zaman bu soruyu geçmiş bir yaşamda sormuştum ve cevap, sahip olabileceğinizden veya alabildiğiniz kadar fazlaydı. :)

Bazen ihtiyaç duyduğunuzdan daha fazla veriye sahip olabilirsiniz, ancak bazı (çok fazla) nokta yineleniyor. Replikasyon, gürültüyü azaltmaya yardımcı olması açısından İYİDİR, ancak sayısal sıralamayı arttırmaya yardımcı olmaz. Dolayısıyla, sadece iki veri noktanız olduğunu varsayalım. Noktalardan benzersiz bir ikinci dereceden model tahmin edemezsiniz. Her bir noktanın milyon kopyası, hala etkili bir şekilde sadece bir çift nokta olan düz bir çizgiden daha fazlasını sığdırmanıza izin vermeyecektir. Temel olarak, çoğaltma bilgi içeriği eklemez. Tek yaptığı, zaten bilgi sahibi olduğunuz yerlerde gürültüyü azaltmak.

Bazen yanlış yerlerde bilgin var. Örneğin, eğer sahip olduğunuz her şey iki boyutlu düz bir çizgide yatan noktalar ise, iki boyutlu bir ikinci dereceden modele sığamazsınız. Yani, düzlemde yalnızca x = y çizgisi boyunca saçılan noktalara sahip olduğunuzu ve z (x, y) yüzeyine bir model yerleştirmek istediğinizi varsayalım. Zilyonlarca puan bile olsa (yinelenmez) bile, sabit bir modelden zekice tahmin etmek için yeterli bilgiye sahip olacaksınız. Şaşırtıcı bir şekilde, bu örneklenmiş verilerde gördüğüm yaygın bir sorundur. Kullanıcı neden iyi bir model oluşturamadıklarını merak ediyor. Sorun, örnekledikleri verilere dayanıyor.

Bazen basitçe model seçimidir. Bu, "yeterli veri" olarak değil, diğer taraftan görülebilir. Karmaşık bir model tahmin etmek istiyorsunuz, ancak bunu yapmak için yeterli veri sağlamamışsınız.

Yukarıdaki örneklerin hepsinde cevap, şu anda sahip olmadığınız süreç hakkında bilgi sağlayacak yerlerden akıllıca örneklenmiş, daha fazla veri elde etmektir. Deney tasarımı, başlamak için iyi bir yerdir.

Ancak, iyi veriler bile bazen yetersizdir, en azından sayısal olarak. (Neden kötü şeyler iyi veriye geliyor?) Buradaki sorun modelle ilgili olabilir. Kötü bir birim seçiminden başka hiçbir şeyde bulunmayabilir. Sorunu çözmek için yapılan bilgisayar programlamasından kaynaklanabilir. (Ugh! Nereden başlamalı?)

İlk olarak, birimler ve ölçeklendirme hakkında konuşalım. Diyelim ki bir değişkenin diğerinden daha büyük MANY siparişi olduğu bir sorunu çözmeye çalışıyorum. Örneğin, ayakkabı boyumu ve boyumu ilgilendiren bir sorunum olduğunu varsayalım. Boyumu nanometre cinsinden ölçeceğim. Yani boyum kabaca 1.78 milyar (1.78e9) nanometre olacaktı. Tabii ki, ayakkabı büyüklüğümü kilo-parsec cinsinden ölçeceğim, yani 9.14e-21 kilo-parsec. Regresyon modellemesi yaparken, doğrusal regresyon, değişkenlerin doğrusal kombinasyonlarını içeren doğrusal cebirle ilgilidir. Buradaki sorun, bu sayıların çok fazla büyüklük sırasına göre (ve aynı birimler bile değil) büyük ölçüde farklı olmasıdır. Bir bilgisayar programı çok büyüklük derecelerine göre değişen sayılar eklemeye ve çıkarmaya çalıştığında matematik başarısız olur (çift duyarlık için numara,

İşin püf noktası genellikle ortak birimler kullanmaktır, ancak bazı problemlerde değişkenler çok fazla büyüklük sırasına göre değiştiğinde bile bu bir konudur. Daha önemlisi, numaralarınızı büyüklük bakımından benzer olacak şekilde ölçeklendirmektir.

Sonra, büyük sayılarla ve bu sayılardaki küçük farklılıklar ile ilgili problemler görebilirsiniz. Bu nedenle, girdilerinizin aralık içinde bulunduğu verileri içeren, orta derecede yüksek dereceli bir polinom model oluşturmaya çalıştığınızı varsayalım [1,2]. 1 veya 2 sırasına göre kareler, küpler vb. Sayılar çift duyarlıklı aritmetik olarak çalışırken sorun çıkarmaz. Alternatif olarak, her sayıya 1e12 ekleyin. Teoride, matematik buna izin verecektir. Tek yaptığı x ekseninde oluşturduğumuz herhangi bir polinom modelini değiştirmek. Tam olarak aynı şekle sahip olacaktı, ancak 1e12 ile sağa çevrildi. Uygulamada, doğrusal cebir rütbe eksikliği problemleri nedeniyle sefil başarısız olur. Veriyi çevirmekten başka hiçbir şey yapmadın, ama aniden tekil matrislerin ortaya çıkmasını görmeye başla.

Genellikle yapılan yorumlar "verilerinizi merkezlemek ve ölçeklendirmek" için bir öneridir. Etkili bir şekilde bu, verileri sıfıra yakın bir ortalamaya ve kabaca 1 olan standart bir sapmaya sahip olacak şekilde kaydırmayı ve ölçeklendirmeyi söylüyor.

Sıra eksikliğinin diğer nedenleri var. Bazı durumlarda doğrudan modele yerleştirilmiştir. Örneğin, bir işlevin türevini sağladığımı varsayalım, işlevin kendine özgü bir çıkarım yapabilir miyim? Tabii ki, entegrasyon bir entegrasyon sabitini içerdiğinden, genel olarak fonksiyonun değeri hakkında bir noktadan bilgi edinilen bilinmeyen bir parametredir. Aslında, bu bazen bir sistemin tekilliğinin araştırılmakta olan sistemin temel yapısından kaynaklandığı tahmin problemlerinde de ortaya çıkmaktadır.

Kesinlikle lineer bir sistemde rütbe eksikliğinin birçok nedeninden birkaç tanesini bıraktım ve şimdi çok uzun zamandır mücadele ettim. İnşallah, basitçe anlattıklarımı ve sorunu hafifletmenin bir yolunu açıklamayı başardım.


42

Bir matrisin derecesinin tanımı için, doğrusal cebir üzerindeki herhangi bir iyi ders kitabına başvurabilir veya Wikipedia sayfasına bakabilirsiniz .

Bir matris , tam seviye olduğu söylenir , ve kolonların birbirine bir lineer kombinasyonu değildir. Bu durumda, matrisi bir pozitif olduğu anlamına gelir .n×pXnpp×pXTX(XTX)1

Eğer tam sırada değilse, sütunlardan biri diğerleri tarafından doğrusal bir kombinasyon olduğu anlamında diğerleri tarafından tam olarak açıklanmaktadır. Önemli bir örnek, bir sütunun çoğaltılmasıdır. Bu, 0-1 değişkenine sahipseniz ve bir sütun yalnızca 0 veya yalnızca 1'den oluşuyorsa da olabilir. Bu durumda, matrisinin sırası küçüktür ve tersi yoktur.XXnXTX

Çünkü birçok regresyon probleminin çözümü (lojistik regresyon dahil) hesaplama ortalamasını içermektedir(XTX)1 'i içerdiğinden, model parametrelerinin tahmin edilmesi mümkün değildir. Meraktan, burada bu terimin çoklu doğrusal regresyon formülüne nasıl dahil olduğunu kontrol edebilirsiniz .

X


23

user974'in cevabı modelleme açısından müthiş, gui11aume'nin yanıtı matematiksel açıdan müthiş. Eski cevabı kesinlikle karma modelleme bakış açısıyla hassaslaştırmak istiyorum : özellikle genelleştirilmiş karma modelleme (GLMM) bakış açısı. Gördüğünüz gibi mer_finalize, fantastik lme4paketteki R işlevine referans verdiniz . Ayrıca bir lojistik regresyon modeline uyduğunuzu da söylüyorsunuz.

Orada birçok sayısal algoritmaların böyle tipleri ile kırpmak konular. Sabit etkilerin model matrisinin matris yapısının konusu, user974'ün bahsettiği gibi kesinlikle dikkate değer. Ancak bunu değerlendirmek çok kolaydır, basitçe model.matrixsizin formula=ve data=argümanlarınızı bir modelde hesaplayın ve detişlevi kullanarak belirleyicisini alın . Bununla birlikte, rastgele etkiler, yorumlamayı, sayısal tahmin rutini ve sabit etkiler üzerindeki çıkarımı (genellikle "normal" bir regresyon modelinde regresyon katsayıları olarak düşündükleriniz) büyük ölçüde karmaşıklaştırır .

En basit durumda, yalnızca rastgele bir yakalama modeli bulunduğunu varsayalım. Öyleyse temelde, kümeler içinde tekrarlanan ölçümlerde sabit tutulan ölçülmemiş binlerce heterojenite kaynağı olduğunu düşünüyorsunuz. "Büyük" bir kesişme noktası tahmin edersiniz, ancak kümeye özgü kesişme noktalarının ortalama ± normal dağılıma sahip olduğunu varsayarak heterojenliği hesaba katarsınız. Kavramalar yinelemeli olarak tahmin edilir ve yakınsama elde edilene kadar model etkilerini güncellemek için kullanılır (log olasılığı - veya yaklaşık bir değer - maksimuma çıkarılır). Karma modelin tasarlanması çok kolaydır, ancak matematiksel olarak olabilirlik çok karmaşıktır ve tekillikler, yerel asgari noktalar ve sınır noktaları ile ilgili sorunlara eğilimlidir (olasılık oranları = 0 veya sonsuz). Karışık modellerin kanonik GLM'ler gibi karesel olasılıkları yoktur.

Ne yazık ki, Venerables ve Ripley sizinki gibi yakınsama başarısızlıkları için teşhise çok fazla yatırım yapmadı. Böyle bir mesaja yol açan sayısız olası hatada bile spekülasyon yapmak neredeyse imkansızdır. O zaman, aşağıda kullandığım teşhis türlerini göz önünde bulundurun:

  1. Küme başına kaç gözlem var?
  2. GEE kullanan marjinal bir modelin sonuçları nelerdir?
  3. Kümelerin ICC'si nedir? Küme içi heterojenite küme heterojenitesine yakın mı?
  4. 1 adımlı bir tahminci takın ve tahmini rastgele etkilere bakın. Yaklaşık normal mi?
  5. Bayesian karma modelini takın ve sabit etkiler için posterior dağılıma bakın. Yaklaşık normal dağılıma sahip görünüyorlar mı?
  6. Bir pürüzsüz kullanarak sonuca karşı pozlama veya ilgilenen regresör gösteren kümelerin paneline bakın. Trendler tutarlı mı ve açık mı, yoksa bu trendlerin açıklanmasının olası birçok yolu var mı? (örneğin, maruz kalmayan konular arasında "risk" nedir, maruz kalma koruyucu veya zararlı görünüyor mu?)
  7. "İdeal" tedavi etkisini tahmin etmek için numuneyi yalnızca kişi başına yeterli sayıda gözlem (örneğin, n = 5 veya n = 10) olan kişilerle sınırlandırmak mümkün müdür?

Alternatif olarak, bazı farklı modelleme yaklaşımlarını düşünebilirsiniz:

  1. Küme düzeyini / otoregresif heterojenliği modellemek için sabit bir etki (grup göstergeleri veya polinom zaman efekti gibi) kullanabileceğiniz yeterince az küme veya zaman noktası var mı?
  2. Marjinal bir model uygun mu (standart hata tahmininin verimliliğini arttırmak için bir GEE kullanıyor, ancak yine de yalnızca sabit etkiler kullanıyor)
  3. Rastgele etkilerden önce bilgilendirici olan bir Bayesian modeli tahminleri iyileştirebilir mi?

2
+1: Orijinal sorunun "karışık" bölümünü ele aldığınız için teşekkür ederiz. Bu gönderi, zaten iyi bir cevap dizisini güzel bir şekilde tamamlamaktadır.
whuber
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.