Próbuję utworzyć model zredukowany, aby przewidzieć wiele zmiennych zależnych (DV) (~ 450), które są wysoce skorelowane.
Moje zmienne niezależne (IV) są również liczne (~ 2000) i wysoce skorelowane.
Jeśli użyję lasso do wybrania zredukowanego modelu dla każdego wyjścia osobno, nie ma gwarancji, że uzyskam ten sam podzbiór zmiennych niezależnych, ponieważ pętlę nad każdą zmienną zależną.
Czy istnieje regresja liniowa wielowymiarowa, która używa lasso w R?
To nie jest grupowe lasso. grupa lasso grupy IV. Chcę wielowymiarowej regresji liniowej (co oznacza, że DV jest macierzą, a nie wektorem skalarów), która również implementuje lasso. (Uwaga: jak wskazuje NRH, nie jest to prawdą. Lasso grupowe to ogólny termin obejmujący strategie grupujące IV, ale także strategie grupujące inne parametry, takie jak DV)
Znalazłem ten artykuł, który wchodzi w coś o nazwie rzadkie nakładające się zestawy Lasso
Oto kod, który wykonuje regresję liniową na wielu odmianach
> dim(target)
[1] 6060 441
> dim(dictionary)
[1] 6060 2030
> fit = lm(target~dictionary)
Oto kod, który robi lasso na jednym DV
> fit = glmnet(dictionary, target[,1])
I to właśnie chciałbym zrobić:
> fit = glmnet(dictionary, target)
Error in weighted.mean.default(y, weights) :
'x' and 'w' must have the same length
Wybieranie funkcji pasujących do WSZYSTKICH celów jednocześnie
źródło
glmnet
i ma dokładną winietę.Odpowiedzi:
W przypadku odpowiedzi wielowymiarowych (liczba zmiennych zależnych większych niż 1) potrzebujesz
family = "mgaussian"
w wywołaniuglmnet
.Pakiet lsgl jest alternatywnym, co zapewnia bardziej elastyczne karny.
Z odpowiedzią wymiarową , pakiet glmnet implementuje karę gdzie jest wektorem współczynników dla tego predyktora. Na stronie pomocy możesz przeczytać:k
glmnet
Kara ta jest przykładem grupowej kary lasso, która grupuje parametry dla różnych odpowiedzi powiązanych z tym samym predyktorem. Powoduje to wybór tych samych predyktorów dla wszystkich odpowiedzi dla danej wartości parametru strojenia.
Pakiet lsgl implementuje rzadkie grupowe kary lasso w postaci gdzie i są pewnymi wagami wybranymi w celu zrównoważenia wkładów z różnych warunków. Domyślnie jest to i . Parametr jest parametrem dostrajającym. Przy (i ) kara jest równoważna z karą zastosowaną przez z . Z (i
glmnet
family = "mgaussian"
Notatka o grupie Lasso. Termin grupa lasso jest często kojarzony z grupą predyktorów. Jednak z bardziej ogólnego punktu widzenia grupa lasso to po prostu grupowanie parametrów w karach. Grupowanie używane przez
glmnet
withfamily = "mgaussian"
to grupowanie parametrów w odpowiedziach. Efektem takiego grupowania jest połączenie oszacowania parametrów w odpowiedziach, co okazuje się dobrym pomysłem, jeśli wszystkie odpowiedzi można przewidzieć na podstawie tego samego zestawu predyktorów. Ogólna idea łączenia wielu problemów uczenia się, które mają podobną strukturę, jest znana jako uczenie się wielu zadań .źródło