Software и математическая статистика

FreeKill

Здравствуйте. Хотелось бы узнать, какие существуют специализированные пакеты или хотя бы функции в excel для статистической обработки информации, зависящей от нескольких переменных.
Более подробно: имеется несколько серий данных (x_1, ..., x_n) и серия результатов y, зависящих от этих данных, с некоторым приближением. Требуется найти вид зависимости y от x. В предположении, что зависимость линейная, требуется найти коэффициенты наиболее вероятной линейной функции y=L(x_1, ..., x_n). Испытаний мало, поэтому коэффициент корреляции могут быть не очень большим по модулю. Даже можно считать, что коэффициенты корреляции все положительны, если это критично. Может меня кто-нибудь научить, как на компьютере считать такие вещи?
Я делал так. Сложил x_1, ..., x_n, домноженные на какие-то весовые функции, получил L_1(x_1, ..., x_n нарисовал графики для L_1, x_1, ..., x_n, y, посмотрел, что надо сделать, чтобы L_1 и y были более или менее параллельны, соответствующим образом на глазок поменял весовые коэффициенты, повторил данную итерацию несколько раз, прибавил соответствующий свободный член. Понятно, что это ненаучный подход, вот, хотелось бы знать, как можно осуществлять научный.
Спасибо.

alex17171717

в Ориджине есть линейное приближение, вообще там много чего есть и очень все просто

FreeKill

что за ориджин, где его взять и для многомерных ли функций там имеется линейное приближение?

alex17171717

пардон, чушь написал, функция же многомерная)

FreeKill

ну, то есть она одномерная, но от многих переменных.

a7137928

ботай это:
эксель/вставка/функции/статистические/ЛИНЕЙН
Надо еще заботать синтаксис функций, берущих и возвращающих массивы, чтобы научиться ей пользоваться.
Есть еще Statistica, но ее надо ботать отдельно.

alex17171717

ну можно нверное програмку простейшую написать на находение минимума разницы:
(a_1*x_1+...a_n*x_n)^2 -(x_1^2+...x_n^2)= y_theor^2-y_exp^2

parfum74

эксель/вставка/функции/статистические/ЛИНЕЙН
На английском - insert/function/statistical/linest

spiritmc

Выпиши чётко, какую регрессию ты хочешь получить.
y = a1 x1 + a2 x2 + ... an xn + a
или
y = a x1 + a x2 + ... + a xn + b
?
Что именно тебе надо, подогнать или ещё что-то оценить?
http://dmoz.org/Science/Math/Statistics/
---
...Я работаю антинаучным аферистом...

FreeKill

подогнать. первый вариант функции, естественно. сейчас посмотрю ссылку, спасибо.

FreeKill

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

spiritmc

Ищи средства многомерной линейной регрессии.
Либо руками минимизируй функцию
F(a1, a2, ..., an, a) = \sum_i w_i (y_i - \sum_k ak xk_i)^2.
Для последнего могу поделиться исходником.
Можешь свести к решению линейных уравнений, если распишешь
(\partial F / \partial a_k) = 0.
(У тебя какое образование? В смысле --- факультет.)
---
...Я работаю антинаучным аферистом...

FreeKill

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

spiritmc

Понятно.
w_k обратно пропорционально квадрату погрешности измерения y_k.
Погрешностью измерения x можно пренебречь?
Сколько времени есть?
Сколько точек? Сколько измерений?
---
...Я работаю антинаучным аферистом...

FreeKill

>>Ищи средства многомерной линейной регрессии.
Не понял. Где ее искать?
>>Либо руками минимизируй функцию
F(a1, a2, ..., an, a) = \sum_i w_i (y_i - \sum_k ak xk_i)^2.
w_i это что такое?
>>Для последнего могу поделиться исходником.
Gоделись, конечно! mail.ru
>> Можешь свести к решению линейных уравнений, если распишешь
(\partial F / \partial a_k) = 0.
\partial это что в техе? частные производные, что ли?
Спасибо большое.

FreeKill

>>w_k обратно пропорционально квадрату погрешности измерения y_k.
Погрешностью измерения x можно пренебречь?
да. можно считать, что данные точные, хотя это не так, конечно, но будем считать их точными.
>>Сколько времени есть?
Сколько точек? Сколько измерений?
времени лучше бы до конца недели плюс, может, пара дней, то есть дофига. измерений минимум пять, но можно и сто, я думаю, хватит пяти, точек 12-15. сильно достоверного анализа тут не сделаешь, конечно.

Господа! Вы присутствуете при виртуальной помощи одного человека другому. Надеюсь, эта помощь будет оценена по достоинству.

spiritmc

Переехали в почту.
---
...Я работаю антинаучным аферистом...

disepa

А что не хочешь попробовать STATISTICA или SPSS ?
(Сразу говорю, вопрос твой не дочитал, так что если что, то не ругать)

ereyzer

Сейчас на физфаке идет спецкурс на эту тему. Например, можно использовать метод группового учета аргументов (МГУА) - он как раз предназначен для определения полинома, описывающего экспериментальные данные. Посмотри здесь: www.gmdh.net - там есть ссылки на свободные/платные программы. Также можно использовать символьную регрессию (http://garage.cps.msu.edu, www.cs.ucl.ac.uk/research/genprog) , если тебе важно предсказать поведение функции в будущем, то помогут нейронные сети (с общей регрессией или обычный многослойный перцептрон).

spiritmc

прислал ссылку:
http://mtsu32.mtsu.edu:11308/regression/level3/multireg/useexcel.htm
---
...Я работаю антинаучным аферистом...
Оставить комментарий
Имя или ник:
Комментарий: