Aleksandr'un yanıtı tamamen doğru.
Bununla birlikte, sorunun ortaya çıkma şekli, bunun basit, sıradan en küçük kareler regresyon sorusu olduğunu ima eder: bağımlı bir değişken ile doğrusal bir yordayıcı kombinasyonu arasındaki kare artıkların toplamının en aza indirilmesi.
Şimdi, tasarım matrisinizde çok sayıda sıfır olsa da, sisteminiz aşırı büyük değil: 40 öngörücü üzerinde 300 gözlem orta büyüklükten fazla değildir. Seyrek veriler için özel bir çaba harcamadan R kullanarak böyle bir gerilemeyi gerçekleştirebilirsiniz. Sadece lm()
komutu kullanın ("doğrusal model" için). ?lm
Yardım sayfasını görmek için kullanın . Ve lm
varsayılan olarak sessizce tasarım matrisinize (kesişme noktası) sabit bir sütun ekleyeceğinizi unutmayın - -1
bunu bastırmak için formülünüzün sağ tarafına a ekleyin. Genel olarak, tüm verilerinizin (ve başka hiçbir şeyin) bir data.frame
çağrıda bulunmadığını varsayarsak foo
, bunu yapabilirsiniz:
model <- lm(y~.-1,data=foo)
Ardından parametre tahminlerine vb. Şu şekilde bakabilirsiniz:
summary(model)
residuals(model)
Eğer sistem olduğunu çok daha büyük gereğince, uzman seyrek çözümleyici bakarak 10.000 gözlem ve belirleyicileri yüzlerce sırasına söylemek Aleksandr cevabı mantıklı başlayabilir.
Son olarak, Aleksandr'un cevabına yaptığınız yorumda , denkleminizdeki kısıtlamalardan bahsediyorsunuz. Bu aslında önemli bir konu ise, bizzat benzeri R. I kısıtlı en küçük kareler hesaplamak için yollar vardır pcls()
içinde mgcv
paketin. Belki de sorunuzu, karşılaştığınız kısıtlama türlerini (kutu kısıtlamaları, negatif olmayan sınırlamalar, bütünlük kısıtlamaları, doğrusal sınırlamalar, ...) içerecek şekilde düzenlemek istersiniz?