MATLAB Взвешенная множественная регрессия
У меня есть набор данных, который включает 821 наблюдение, каждое с 20 измерениями. Я хотел бы регрессировать эти данные набора с набором отдельных зависимых переменных, используя множественную линейную регрессию в MATLAB. Однако я также хотел бы по-разному оценивать каждое наблюдение в регрессии на основе моих собственных расчетов. Например, я хотел бы дать первому наблюдению вес, равный 1, а второму наблюдению - вес, равный 1,6, что в идеале подтянет регрессию к более тяжелому взвешенному второму наблюдению.
Возможно ли такое вычисление в MATLAB? Если да, то какую функцию (и) лучше всего выполнить для такого типа вычислений?
Спасибо за помощь!
2 ответа
С инструментами статистики вы можете использовать fitlm
создать модель линейной регрессии, применяя Weights
возможность поставить свой вес.
NB в старых версиях MATLAB, вам нужно будет использовать LinearModel.fit
скорее, чем fitlm
, но они делают то же самое.
Вам на самом деле не нужен набор инструментов статистики для этого. Встроенная функция lscov
будет делать все, что вы хотите.
[b,bse] = lscov(X,y,w)
предоставит взвешенные оценки OLS и их стандартные ошибки. Если вы хотите использовать константу в регрессии, включите столбец из них в X.