Bir katsayıyı düzeltme ve regresyon kullanarak diğerlerine uyma


11

El ile belirli bir katsayı çözmek isteriz derler , tüm diğer öngördü- sonra uygun katsayılar, tutma sırasında modelinde.β 1 = 1,0β1=1.0β1=1.0

R kullanarak bunu nasıl başarabilirim? Mümkünse özellikle LASSO ( glmnet) ile çalışmak istiyorum .

Alternatif olarak, bu katsayıyı belirli bir aralıkla nasıl kısıtlayabilirim ?0.5β11.0


Takılan katsayılarda kutu kısıtlamaları belirtmek için glmnet'te alt.alt ve üst. bağımsız değişkenleri vardır, değil mi?
Tom Wenseleers

Yanıtlar:


4

Bu offsetargümanı şu şekilde kullanmanız gerekir :

library(glmnet)
x=matrix(rnorm(100*20),100,20)
x1=matrix(rnorm(100),100,1)
y=rnorm(100)
fit1=glmnet(x,y,offset=x1)
fit1$offset
print(fit1)

Ürün yelpazesi hakkında ... Bunun uygulandığını sanmıyorum glmnet. Bazı sayısal yöntemler kullanıyorlarsa, R kodunu incelemek ve orada kısıtlamaya çalışmak isteyebilirsiniz, ancak iyi, sağlam bir programlama arka planına ihtiyacınız olacaktır.


2
offsetAslında ne yapıyor? 1.1*x1Sorunun değeri sorudan nasıl belirlenir?
whuber

Glmnet'te 'ofset' belgelerini okudum ve hala ne yaptığından emin değilim. Harika örnekler bulamadım, ancak çoğu Poisson sürecine referansta bulundu. 1.1 * x1 neden kullanılır?
raco

Katsayıları . Cevabı yeni düzenledim. Göreli konum, katsayısının model tarafından tahmin edilmediği, ancak 1 değerine sahip olduğu varsayıldığı terimdir.β1=1.1
Stat

Bu cevaptan yeterince mutluyum. Farklı ofset "katsayıları" üzerinde yineleme yapabilir ve modelleri karşılaştırabilirim. Teşekkürler!
raco

1
İle ilgili olarak offsetiçinde glmnetpaket Stat sağladığı cevap beni anlamda yapmaz. Fit1 beta)] çalıştırdığımda herhangi bir . Örneğinizde ofsetin nasıl çalıştığını açıklayabilir misiniz? Betaların aralığı için ve bağımsız değişkenlerini kullanabilirsiniz . beta[,ncol(fit1β1=1.0lower.limitsupper limits
Mario Nuñez

9

Düşünelim. Var:

Y=b0+b1x1+b2x2+e

(basit tutmak için) zorlamak istiyorsunuz,b1=1

Y=b0+x1+b2x2+e

böylece her iki taraftan çıkarabilirsiniz :x1

Ynew=Yx1=b0+b2x2+e

bu da tahmin .b2


2
Bu kolay kısmı (ve hatırladığım gibi diğer iş parçacıklarında ele alındı). Katsayıyı bir aralıkla sınırlamaya ne dersiniz? Bu problemin özellikle zor kısmı, tahmin kısıtlama sınırında olduğunda iyi bir güven limiti elde etmektir.
whuber

2
Bu kesinlikle daha zor. Gönderinin sonunu kaçırdım. Ama sanırım bu sorunun bir kısmını cevapladığı için cevabımı bırakmalıyım
Peter Flom

ise bu hala genelleme mu? Let yerine 1, , burada en küçük kareler regresyon analizi ile seçilmiş katsayısıdır. β 1 = 0,75 Y n e w = Y - 0,75 x 1 = β 0 + ( β 1- 0,75 ) x 1 + β 2 x 2 + ϵ β 1β11β1=0.75Ynew=Y.75x1=β0+(β10.75)x1+β2x2+ϵβ1
raco

1
Evet, eğer .75 olarak sabitlenmişse, söylediklerinizi yapmak işe yarayacaktır. Ancak @whuber'ın işaret ettiği gibi, bu sorunun kolay kısmı
Peter Flom

2
@whuber, Bayesci bir çerçevede, aralığınızın dışındaki katsayıları atmak için bir Metropolis adımına atabilir veya alternatif olarak kesilmiş çok değişkenli normal dağılımdan örnek alabilirsiniz.
John

3

Sınırlayıcı katsayıların bir aralıkta olması ile ilgili olarak, Bayes tahmini yaklaşımı bunu başarmanın bir yoludur.

Özellikle, bir Markov Zinciri Monte Carlo'ya güvenmek gerekir. İlk olarak, Gibbs örnekleme algoritmasını düşünün, bu da kısıtlama olmadan MCMC'yi Bayes çerçevesine nasıl sığdıracağınızdır. Gibbs örneklemesinde, algoritmanın her adımında, her bir parametrenin (veya parametre grubunun) verilere ve diğer tüm parametrelere bağlı olarak arka dağılımından örnekleme yaparsınız. Wikipedia yaklaşımın iyi bir özetini sunar.

Aralığı sınırlamanın bir yolu bir Metropolis-Hastings adımı uygulamaktır. Temel fikir, sınırlarınızın dışındaki herhangi bir simüle edilmiş değişkeni atmaktır. Daha sonra, bir sonraki yinelemeye geçmeden önce sınırlarınız içinde olana kadar yeniden örneklemeye devam edebilirsiniz. Bunun dezavantajı, MCMC'yi yavaşlatan birçok kez taklit edilebileceğidir. Alternatif bir yaklaşım, aslen tarafından geliştirilen John Geweke bir de birkaç kağıtları ve bunu bir yazıda genişletilmiş Rodriguez-Yam, Davis, Sharpe bir kısıtlı çok değişkenli normal dağılımdan taklit etmektir. Bu yaklaşım, parametreler üzerindeki doğrusal ve doğrusal olmayan eşitsizlik kısıtlamalarını kaldırabilir ve bu konuda bazı başarılar elde ettim.


Takılan katsayılarda kutu kısıtlamaları belirtmek için glmnet'te alt.alt ve üst. bağımsız değişkenleri vardır, değil mi?
Tom Wenseleers

@TomWenseleers Daha genel olarak cevap veriyordum. İle ilgili diğer cevaplara bakınız glmnet.
John

2

LASSO'ya aşina değilim glmnet, ancak lavaan("gizli değişken analizi" kısaltması) hem eşitlik kısıtlamaları hem de tek sınırlı eşitsizlik kısıtlamaları ile birden fazla regresyon modelini kolaylaştırır ( bu PDF'nin 7. sayfasındaki tabloya bakın : Bir R paketi yapısal eşitlik modellemesi için " ). Katsayıda hem üst hem de alt sınırlara sahip olup olmadığınızı bilmiyorum, ancak belki her bir sınırı ayrı satırlarla ekleyebilirsiniz, örneğin:

Coefficient>.49999999
Coefficient<1.0000001

Elbette, modeli takmadan önce her şeyi standartlaştırıyorsanız, yine de regresyon katsayılarınıza 1 üst sınırı dayatmak konusunda endişelenmeniz gerekmez. Bir şeylerin yanlış gitmesi ihtimaline karşı, bu durumda bunu atlamaktan daha iyi olduğunuzu söyleyebilirim! ( lavaan Olan bütün ... Ben bugüne kadar bunu kendi sınırlı kullanımda bazı hafif balık sonuçları gördüm sonra hala beta.)


Takılan katsayılarda kutu kısıtlamaları belirtmek için glmnet'te alt.alt ve üst. bağımsız değişkenleri vardır, değil mi?
Tom Wenseleers
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.