Поделиться через


Метод WorksheetFunction.LinEst (Excel)

Вычисляет статистику для линии с помощью метода наименьших квадратов, чтобы вычислить прямую линию, которая наилучшим образом соответствует вашим данным, и возвращает массив, описывающий линию. Так как эта функция возвращает массив значений, его необходимо ввести в виде формулы массива.

Синтаксис

expression. LinEst (Arg1, Arg2, Arg3, Arg4)

Выражение Переменная, представляющая объект WorksheetFunction .

Параметры

Имя Обязательный или необязательный Тип данных Описание
Arg1 Обязательный Variant Known_y — набор значений y, которые вы уже знаете в связи y = mx + b.
Arg2 Необязательный Variant Known_x — необязательный набор значений x, которые, возможно, уже известны в связи y = mx + b.
Arg3 Необязательный Variant Const — логическое значение, указывающее, следует ли принудительно принудить константу b к 0.
Arg4 Необязательный Variant Stats — логическое значение, указывающее, следует ли возвращать дополнительную статистику регрессии.

Возвращаемое значение

Variant

Примечания

Уравнение для строки — y = mx + b или y = m1x1 + m2x2 + ... + b (при наличии нескольких диапазонов значений x), где зависимое значение y является функцией независимых значений x. Значения m являются коэффициентами, соответствующими каждому значению x, а b — константным значением. Обратите внимание, что y, x и m могут быть векторами. Массив, возвращающий LinEst , имеет значение {mn,mn-1,...,m1,b}. LinEst также может возвращать дополнительную статистику регрессии.

Если массив known_y находится в одном столбце, каждый столбец known_x интерпретируется как отдельная переменная.

Если массив known_y находится в одной строке, каждая строка known_x интерпретируется как отдельная переменная.

Массив known_x может включать один или несколько наборов переменных. Если используется только одна переменная, known_y и known_x могут быть диапазонами любой формы, если они имеют равные размеры. Если используется несколько переменных, known_y должны быть вектором (то есть диапазоном высотой одной строки или шириной одного столбца).

Если known_x опущен, предполагается {1,2,3,...} , что массив имеет тот же размер, что и known_y.

  • Если параметр const имеет значение True или опущен, b вычисляется обычно.

  • Если const имеет значение False, значение b равно 0, а значения m корректируются в соответствии с .y = mx

  • Если stats имеет значение True, LinEst возвращает дополнительную статистику регрессии, поэтому возвращаемый массив имеет значение {mn,mn-1,...,m1,b;sen,sen-1,...,se1,seb;r2,sey;F,df;ssreg,ssresid}.

  • Если значение stats равно False или опущено, LinEst возвращает только коэффициенты m и константа b.

Дополнительная статистика регрессии выглядит следующим образом.

Статистика регрессии Описание
se1,se2,...,sen Стандартные значения ошибок для коэффициентов m1,m2,...,mn.
Seb Стандартное значение ошибки для константы b (seb = #N/A, если const имеет значение False).
R2 Коэффициент определения. Сравнивает оценочные и фактические значения y и диапазон в значении от 0 до 1. Если значение равно 1, в выборке имеется идеальная корреляция: между предполагаемым значением y и фактическим значением y нет никакой разницы. С другой стороны, если коэффициент определения равен 0, уравнение регрессии не полезен при прогнозировании значения Y.
Сей Стандартная ошибка для оценки y.
F Статистика F или наблюдаемое значение F. Используйте статистику F, чтобы определить, возникает ли наблюдаемая связь между зависимыми и независимыми переменными случайно.
Df Степени свободы. Используйте степени свободы для поиска F-критических значений в статистической таблице. Сравните значения, которые вы найдете в таблице со статистикой F, возвращенной LinEst, чтобы определить уровень достоверности для модели.
ssreg Сумма квадратов регрессии.
ssresid Остаточная сумма квадратов.

На следующем рисунке показан порядок возврата дополнительной статистики регрессии.

иллюстрация, показывающая порядок возврата дополнительной статистики регрессии

Можно описать любую прямую линию с наклоном и y-перехватом: Slope (m). Чтобы найти наклон линии, часто написанной как m, возьмите две точки на линии( x1,y1) и (x2,y2); наклон равен (y2 – y1)/(x2 – x1). Y-intercept (b): y-intercept линии, часто записываемой как b, — это значение y в точке пересечения линии по оси Y. Уравнение прямой линии : y = mx + b. После того как вы узнаете значения m и b, вы можете вычислить любую точку в строке, включив значение y или x в это уравнение. Вы также можете использовать функцию TREND.

При наличии только одной независимой переменной x можно получить значения наклона и y-перехвата напрямую с помощью следующих формул:

  • Уклона: =INDEX(LINEST(known_y's,known_x's),1)
  • Y-intercept: =INDEX(LINEST(known_y's,known_x's),2)

Точность строки, вычисленной с помощью LinEst, зависит от степени точечной в данных. Чем линейнее данные, тем точнее модель LinEst . LinEst использует метод наименьших квадратов для определения оптимального соответствия данным. При наличии только одной независимой переменной x вычисления для m и b основаны на следующих формулах:

Формула, показывающая вычисления для m и b

Формула, показывающая вычисления для m и b, где x и y являются выборкой, означает , что x = AVERAGE(известные x) и y = AVERAGE(known_y's).

Функции подгонки линий и кривых LinEst и LogEst могут вычислить наилучшую прямую или экспоненциальную кривую, которая соответствует вашим данным. Однако вы должны решить, какой из двух результатов лучше всего подходит для ваших данных. Можно вычислить TREND(known_y's,known_x's) для прямой линии или GROWTH(known_y's, known_x's) для экспоненциальной кривой. Эти функции без аргумента new_x возвращают массив значений Y, прогнозируемых вдоль этой линии или кривой в фактических точках данных. Затем можно сравнить прогнозируемые значения с фактическими значениями. Вы можете создать диаграмму для визуального сравнения.

При анализе регрессии Microsoft Excel вычисляет для каждой точки квадратную разницу между предполагаемым значением Y для этой точки и его фактическим значением y. Сумма этих квадратных различий называется остаточной суммой квадратов, ssresid. Затем Excel вычисляет общую сумму квадратов( sstotal). Если const = TRUE или опущено, общая сумма квадратов — это сумма квадратных различий между фактическими значениями y и средним значением y-значений. Если const = FALSE, общая сумма квадратов — это сумма квадратов фактических значений y (без вычитания среднего значения y из каждого отдельного значения y). Затем регрессионные суммы квадратов , ssreg, можно найти в ssreg = sstotal - ssresid. Чем меньше остаточная сумма квадратов по сравнению с общей суммой квадратов, тем больше значение коэффициента определения r2, что является показателем того, насколько хорошо уравнение, полученное в результате регрессии анализа, объясняет связь между переменными; r2 равно ssreg/sstotal.

В некоторых случаях один или несколько столбцов X (предполагается, что Y и X находятся в столбцах) могут не иметь дополнительного прогнозного значения в присутствии других столбцов X. Иными словами, исключение одного или нескольких X-столбцов может привести к прогнозируемым значениям Y с одинаковой точностью. В этом случае эти избыточные столбцы X следует исключить из модели регрессии. Это явление называется коллинарностью , так как любой избыточный столбец X может быть выражен в виде суммы кратных столбцов X. LinEst проверяет наличие коллинарности и удаляет все избыточные X-столбцы из модели регрессии при их идентификации. Удаленные столбцы X можно распознать в выходных данных LinEst как имеющие коэффициенты 0 и 0 se.

  • Если один или несколько столбцов удаляются как избыточные, df затрагивается, так как df зависит от количества столбцов X, фактически используемых для прогнозирования. Если df изменяется из-за удаления избыточных столбцов X, также затрагиваются значения sey и F.
  • Коллинеарность должна быть относительно редкой на практике. Однако один из случаев, когда это более вероятно, заключается в том, что некоторые столбцы X содержат только 0 и 1 в качестве индикаторов того, является ли субъект в эксперименте членом определенной группы. Если const = TRUE или опущен, LinEst фактически вставляет дополнительный столбец X всех 1 для моделирования перехвата. Если у вас есть столбец с 1 для каждого субъекта, если мужчина, или 0, если нет, и у вас также есть столбец с 1 для каждого субъекта, если женщина, или 0, если нет, этот столбец является избыточным, так как записи в нем можно получить, вычитая запись в мужском столбце индикатора из записи в дополнительном столбце всех 1, добавленных LinEst.
  • df вычисляется следующим образом, если из модели не удаляются X-столбцы из-за коллинеарности: если есть k столбцов known_x и const = TRUE или опущен, df = n - k - 1. Если const = FALSE, . df = n - k В обоих случаях каждый столбец X, удаленный из-за коллинеарности, увеличивает значение df на 1.

Формулы, возвращающие массивы, должны вводиться как формулы массива.

  • При вводе константы массива, например known_x в качестве аргумента, используйте запятые для разделения значений в одной строке, а точки с запятой — для разделения строк. Символы разделителя могут отличаться в зависимости от параметра языкового стандарта в разделе Региональные и языковые параметрыв панель управления.
  • Обратите внимание, что значения y, прогнозируемые уравнением регрессии, могут быть недопустимыми, если они находятся за пределами диапазона значений y, используемых для определения уравнения.

Базовый алгоритм, используемый в функции LinEst , отличается от базового алгоритма, используемого в функциях Наклон и Перехват . Разница между этими алгоритмами может привести к разным результатам, если данные не определены и коллинеарны. Например, если точки данных аргумента known_y имеют значение 0, а точки данных аргумента known_x — 1:

  • LinEst возвращает значение 0. Алгоритм LinEst предназначен для возврата разумных результатов для коллинеарных данных, и в этом случае можно найти по крайней мере один ответ.
  • Наклон и перехват возвращают #DIV/0! Ошибка. Алгоритм наклона и перехвата предназначен для поиска одного и только одного ответа, и в этом случае может быть несколько ответов.

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.