Как я могу регрессировать ряд номеров с нисходящим трендом в Excel?

708
jcollum

Я хотел бы использовать эти данные для получения уравнения с помощью Excel.

300 13 310 12.6 320 12.2 330 11.8 340 11.4 350 11 360 10.8 370 10.6 380 10.4 

Когда х идет вверх, у идет вниз. Кажется, просто. Но когда я делаю полиномиальную регрессию на этих данных, даже если линия тренда очень хорошо соответствует данным, генерируемое уравнение не работает. Уравнение: 0.0096x2 - 0.4181x + 13.341Когда я добавляю значения x к этому уравнению, числа увеличиваются! Так что здесь что-то не так.

Мои шаги:

  • поместите обе серии номеров в Excel
  • выберите второй набор (13, 12,6 ...)
  • построить линейный график
  • установить первый набор в качестве меток оси X
  • выберите Series1 и добавьте полиномиальную (2) линию тренда, отобразите уравнение, отобразите R-квадрат

Это приводит к приведенному выше уравнению со значением R ^ 2 .9955. Но когда я использую это уравнение, он не производит эти выходные данные для этих входов.

Очевидно, я делаю что-то не так.

Изменить: или это Excel? Вот график этого уравнения (выше):equation graph

Очевидно, что это не имеет тенденцию к снижению в диапазоне 300-390 .

Вот реальное уравнение, которое соответствует этим данным:

Квадратичное соответствие: y = a + bx + cx ^ 2 Данные коэффициента:
a = 4.53E + 01 b = -1.66E-01 c = 1.95E-04

Спасибо CurveExpert 1.4.

3
Это нисходящий тренд, если вы посмотрите на часть нарисованной кривой, где x <0. Если вы хотите, чтобы он был нисходящим для всех значений, попробуйте выполнить линейное приближение. Mark 13 лет назад 0
Если вы положите значения X в уравнения и покажете 3 значащие цифры, значения y для моего решения и CurveExpert отличаются только для x = 320, а мое ближе). Таким образом, нам нужно использовать более значимые цифры и посмотреть, какие ошибки есть в решениях. Я забыл полный анализ ошибок. Mark 13 лет назад 0
@Mark: вы смотрели графики, которые я разместил? Это никогда не нисходящий тренд. Производная x ^ 2 + c всегда положительна или равна нулю. jcollum 13 лет назад 0
he derivative of x^2 + c is 2x so is negative for x< 0 Mark 13 лет назад 0
и внизу на левой стороне - изгиб кривой показывает только небольшую часть кюветы Mark 13 лет назад 0
Ок, ты прав. Тем не менее, уравнение, которое генерируется в Excel, всегда увеличивается в диапазоне значений (300–390), которые я вводил в соответствие кривой. Так что он делает что-то не так. jcollum 13 лет назад 0
Я пытался сделать то же самое в Excel, когда вы вычисляете квадратичное соответствие только по значениям Y, вы получаете именно то, что вам подходит. Так что, похоже, он игнорирует ваш X-диапазон при расчете самой подгонки Ivo Flipse 13 лет назад 0

2 ответа на вопрос

2
Mark

Я вошел в них и получил результат как

y = .000186x ^ 2 - 0,160247x + 44,385628 с R ^ 2 = 0,995

так хорошо подходит

Я ввел x и y как заголовки столбцов.
Тогда в первом столбце были значения x, а во втором столбце - y.

Выберите оба столбца

Вставить диаграмму - ось скрипки

Добавьте линию тренда.

enter image description here Extrapolation for range 0:500Zoomed in on the range from the data

Гм? Я просто сделал то, что вы сказали, и получил другое уравнение. Но дело в том, что x ^ 2 + x + c не является нисходящим трендовым графиком. Смотрите здесь: "http://www.wolframalpha.com/input/?i=x^2+%2B+x&a=*MC.~-_*Graph-" jcollum 13 лет назад 1
Хорошо, ссылки Wolfram облажались. Вы должны будете скопировать вставить его внимательно. jcollum 13 лет назад 0
@Wilson: ааа, в чем тут подвох? []? jcollum 13 лет назад 0
исправлено: [wolframalpha.com/input/?i=x^2+%2B+x&a=*MC.~-_*Graph-](http://wolframalpha.com/input/?i=x%5E2+%2B + X & а = * МС. ~ -_ * graph-) wilson 13 лет назад 0
@jcollum, `[link description] (http: // ...)`, а также замените `^` на `% 5E` wilson 13 лет назад 0
Я использовал полифит третьего порядка, рассчитанный на Python, и могу полностью подтвердить результаты @ Mark. Я добавлю их в ответ в качестве доказательства. Формула округлилась так: `polyfit ==> 0,00019 * x ** 2 + -0,165 * x + 45,25` Ivo Flipse 13 лет назад 0
Также обратите внимание на средний график, где подогнанное уравнение показывает как параболу Mark 13 лет назад 0
2
KronoS

Я не знаю, как вы получили это уравнение в Excel, так как это уравнение, которое я получаю:

Убедитесь, что степень полинома равна 2, и что вы не установили никаких перехватов или прогнозов при создании линии тренда.

Другое дело, вы сказали, х увеличивается, а у уменьшается. Это означает, что вы должны выполнить экспоненциальную подгонку кривой (если только это не линейное уменьшение, а не линейное):

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

Причина, по которой я предлагаю использовать экспоненту, связана с пониманием «тренда» данных и того, как компьютеры рассчитывают эти «уравнения тренда». Например, скажем, у меня есть 3 точки данных, и я создаю полиномиальную функцию, которая идеально подходит для данных:

Однако, когда я беру больше точек данных, они лежат вне того, что соответствуют моим исходным точкам данных. (Да, я понимаю, что Excel НИКОГДА не будет выполнять подобную функцию, но стоит подчеркнуть это). При анализе данных необходимо принять какое-то решение на основе того, что они знают.

Даже если мое значение R ниже, чем ваше (всего на 0,01) знание того, что данные уменьшаются с увеличением x, делает экспоненциальный лучший выбор из-за того, что вы УЖЕ знаете. Так же, как линейная подгонка будет лучшим выбором на графике выше. Это основное различие между экстраполяцией и интерполяцией .

Вы пропустили ту часть моего поста, где я поместил уравнение кривой, сгенерированное CurveExpert. Это уравнение было основано на x ^ 2 и соответствовало данным. Кроме того, мое исходное уравнение из Excel имело лучшее значение R ^ 2, чем сгенерированное вами уравнение. Вы правы насчет диапазона, но я не вижу актуальности. jcollum 13 лет назад 0
отредактированный ответ в ответе @jcollum KronoS 13 лет назад 0
ХОРОШО. Но это все еще не касается вопроса о том, почему excel а) говорит, что у него есть уравнение с высоким значением R, которое никак не соответствует данным. Уравнение, сгенерированное CurveExpert, фактически сгенерирует данные в диапазоне, а уравнение, сгенерированное Excel, - нет. jcollum 13 лет назад 0
данные уменьшаются, так как увеличение x вовсе не означает экспоненциальный выбор - выбор полинома или экспоненциального является модой, которая лежит в основе данных и не обязательно выбирается только из данных. Я могу построить параболы, где при увеличении x у уменьшается - например, y = x ^ 2 или y = -bx + c Mark 13 лет назад 0
@ Правильно, но в целом и IMO, экспоненциальный лучше подходит к ситуации. KronoS 13 лет назад 0
@Kronos - конечно, мы не знаем достаточно, чтобы сказать, лучше ли экспонента - я бы предположил, что линейный без какой-либо другой информации - Excel дает y = -0.0337x + 22.991 с R ^ 2 = 0.9796, что хорошо подходит Mark 13 лет назад 0
Линейный неверен из-за изменения наклона от .4 до .2. И полиномиальные, и экспоненциальные подходят лучше всего, но, опять же, ИМО, экспоненциальный является лучшим в этой ситуации. KronoS 13 лет назад 0

Похожие вопросы