Chciałbym ręcznie naprawić pewien współczynnik, powiedzmy , a następnie dopasować współczynniki do wszystkich innych predyktorów, zachowując w modelu.β 1 = 1,0
Jak mogę to osiągnąć za pomocą R? Szczególnie chciałbym pracować z LASSO ( glmnet
), jeśli to możliwe.
Alternatywnie, jak mogę ograniczyć ten współczynnik do określonego zakresu, powiedzmy ?
Odpowiedzi:
Musisz użyć takiego
offset
argumentu:O zakresie ... Nie sądzę, że został zaimplementowany w
glmnet
. Jeśli używają jakiejś metody numerycznej, możesz zagłębić się w kod R i spróbować go ograniczyć, ale potrzebujesz dobrego, solidnego tła programistycznego.źródło
offset
właściwie robi Jaka jest wartość1.1*x1
ustalona na podstawie pytania?offset
wglmnet
pakiecie, odpowiedź udzielona przez Stat nie ma dla mnie sensu. Kiedy uruchamiam fit1 beta)] nie widzę żadnego . Czy możesz wyjaśnić, jak działa offset w twoim przykładzie? Dla zakresu bet możesz użyć argumentów i .lower.limits
upper limits
Pomyślmy. Ty masz:
(dla uproszczenia) Chcesz wymusić , więc chceszb1=1
więc możesz po prostu odjąć z każdej strony, pozostawiając:x1
który może następnie oszacować .b2
źródło
W odniesieniu do ograniczania współczynników, które powinny mieścić się w zakresie, bayesowskie podejście do szacowania jest jednym ze sposobów osiągnięcia tego.
W szczególności można polegać na Markov Chain Monte Carlo. Najpierw rozważmy algorytm próbkowania Gibbsa, który pasowałby do MCMC w środowisku Bayesa bez ograniczenia. W próbkowaniu Gibbsa na każdym etapie algorytmu próbkujesz z rozkładu tylnego każdego parametru (lub grupy parametrów), zależnie od danych i wszystkich innych parametrów. Wikipedia stanowi dobre podsumowanie tego podejścia.
Jednym ze sposobów ograniczenia zasięgu jest zastosowanie kroku Metropolis-Hastings. Podstawową ideą jest po prostu wyrzucenie dowolnej symulowanej zmiennej, która jest poza twoimi granicami. Możesz następnie ponownie próbkować, dopóki nie znajdzie się w twoich granicach, zanim przejdziesz do następnej iteracji. Wadą tego jest to, że możesz utknąć symulując wiele razy, co spowalnia MCMC. Alternatywnym podejściem, pierwotnie opracowanym przez Johna Geweke'a w kilku artykułach i rozszerzonym w artykule Rodrigueza-Yama, Davisa, Sharpe, jest symulacja z ograniczonego wielowymiarowego rozkładu normalnego. To podejście może poradzić sobie z liniowymi i nieliniowymi ograniczeniami nierówności parametrów i odniosłem z tym pewien sukces.
źródło
glmnet
.Nie znam LASSO ani
glmnet
, alelavaan
(skrót od „ukrytej analizy zmiennych”) ułatwia modele regresji wielokrotnej zarówno z ograniczeniami równości, jak i ograniczeniami nierówności z pojedynczymi ograniczeniami (patrz tabela na stronie 7 tego pliku PDF, „pakiet lavaan: An R” do modelowania równań strukturalnych ” ). Nie wiem, czy możesz mieć górną i dolną granicę na współczynniku, ale może możesz dodać każdą granicę z osobnymi liniami, np .:Oczywiście, jeśli standaryzujesz wszystko przed dopasowaniem modelu, nie powinieneś się martwić o nałożenie górnej granicy 1 na współczynniki regresji. Powiedziałbym, że lepiej jest pominąć to w tym przypadku, na wypadek, gdyby coś poszło nie tak! ( mimo wszystko wciąż
lavaan
jest w fazie beta ... Jak dotąd widziałem trochę podejrzane wyniki w moim własnym ograniczonym użyciu).źródło