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.

Другие вопросы по тегам