2012-04-05 35 views
11

Standart bir lm modeli kullanıyorum ve değişkenlerimin bir veya daha fazlasının katsayılarını belirli bir tamsayıya ayarlamak istiyorum. Örneğin, hava ve fiyat değişkenlerimin katsayısının sırasıyla 647 ve 15 olmasını isterim.Belirli bir tamsayıya bir veya daha fazla katsayı ayarlayın

Standart bir formülle lm işlevini kullanıyorum.

Şimdiye kadar bulduğum en yakın şeyler, glm içinde ofset işlevi veya systemfit içindeki restrict.rhs'tır.

Ayrıca, bu değişkenlerden katsayılar setiyle toplam katkısını çıkarmayı da düşündüm, ancak bu çok ölçeklenebilir değil.

Bir katsayı belirleyen tüm sorunların farkındayım, ancak bunu sadece bir keşif bakış açısından yapmak istiyorum.

cevap

12

Bu formülde ofset süreli kullanım ve arzu edilen katsayısı ve değişken içinde aşağıdakileri içerebilir:

df<-data.frame(aa=1:6,bb=2:7,cc=c(4,2,7,5,8,3)) 

lm(cc ~ aa + offset(647*bb), data = df) 

Yani bu aa üzerinde cc gerileme artı sabit terimi bb * 647. Birden fazla verilen katsayı için, uygun ek offset() terimlerini ekleyin.

+0

Hayır, bu doğru değil çünkü hala 'ofset (647 * bb)' nin katsayısının 1. –

+0

@AndrewSchulman'dan farklı olmasına izin verdiği için, yukarıdaki örnekte, offset teriminin katsayısı 1 olmalıdır. Aklında 1'den farklı bir örnek var mı? – BenBarnes

+0

Netleştirmek gerekirse: ofset (647 * bb) 'nin katsayısı 1'dir. – BenBarnes

İlgili konular