2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




На страницу Пред.  1 ... 9, 10, 11, 12, 13, 14  След.
 
 Re: Линейная регрессия
Сообщение10.02.2014, 20:00 
Аватара пользователя
Как сделать их неодинаковыми - чёрт знает; надо будет подумать. Но Ваше решение начинает как-то не очень физично себя вести за границами интервала: скажем, дойдите до $t=20$ - и что? реалистично ли это?

 
 
 
 Re: Линейная регрессия
Сообщение10.02.2014, 21:55 
Зачем до 20? Достаточно до 3-х с небольшим. Фильм снимали же не 20 часов :D
Я в эксперименте не участвовал и понятия не имею, что вытворял поплавок после второй петли.
Сейчас составлю файл данных для полярных координат. Такое делаю впервые, если что - проверьте меня и подправьте.

 
 
 
 Re: Линейная регрессия
Сообщение10.02.2014, 22:09 
Аватара пользователя
Не надо составлять файл данных, это тривиально.
Слушайте, но это же какой-то субъективный идеализм. Обычно люди верят, что когда мы не смотрим на вещи, те ведут себя примерно так же, как когда на них смотрят. (В квантовой механике это не так, что порождает тяжёлые психические проблемы; но это другая история.) А тут что?

-- менее минуты назад --

И это. Раз интервалы времени не равные, а бог знает какие, то придётся их тоже подгонять - 41 штука, однако.

 
 
 
 Re: Линейная регрессия
Сообщение10.02.2014, 22:25 
Только что добрался до Матлаба с Экселем. Посмотрел параметрические графики при предположении о равных временных интервалах. Имхо, весьма красиво. Синусами, наверное надо их интерполировать. В ряд Фурье разложить, например.

 
 
 
 Re: Линейная регрессия
Сообщение10.02.2014, 22:29 
Аватара пользователя
Я примерно это и имел в виду, говоря о гипотрохоиде. Двух синусоид для каждой координаты уже достаточно. Периоды 1:3. Подобрать фазы и амплитуды, и дело в шляпе.

 
 
 
 Re: Линейная регрессия
Сообщение10.02.2014, 22:49 
Не уверен насчет двух, но спектр быстро спадающий, 3-4 должно быть достаточно.

UPD а может и правда двух хватит, не разобрался еще с этим Фурье...

 
 
 
 Re: Линейная регрессия
Сообщение10.02.2014, 23:05 
Аватара пользователя
Двух.

-- менее минуты назад --

http://www.wolframalpha.com/input/?i=pl ... .5..3.5%29

 
 
 
 Re: Линейная регрессия
Сообщение10.02.2014, 23:11 
Только отредактировал свое сообщение, как вы уже и готовые разложения выложили. Теперь мне осталось научиться получать их самостоятельно.

 
 
 
 Re: Линейная регрессия
Сообщение10.02.2014, 23:16 
Аватара пользователя
И это я ещё не уточнял: может быть, 3-то и не 3, а волк.

 
 
 
 Re: Линейная регрессия
Сообщение10.02.2014, 23:46 
Вот это да! Если только не наврал. Получилась сумма квадратов отклонений по 38 точкам $0.0216$. Это означает, что близость кривой к точкам даже очень. Сама кривая тут:
http://www.wolframalpha.com/input/?i=po ... D0..3.3%29

Не могу не сказать, как была получена. Вот переход к полярным координатам. Колонки идут так:
$x, y, t, r$
Код:
0.105  0.029  0.26947  0.10893
0.184  0.088  0.44611  0.20396
0.251  0.163  0.57595  0.29928
0.301  0.255  0.70285  0.39449
0.339  0.364  0.82095  0.49741
0.356  0.464  0.91635  0.58484
0.360  0.527  0.97149  0.63822
0.347  0.649  1.07980  0.73594
0.314  0.753  1.17572  0.81585
0.247  0.866  1.29295  0.90054
0.180  0.937  1.38101  0.95413
0.088  0.987  1.48187  0.99092
0.000  1.000  1.57080  1.00000
-0.105  0.967  1.67896  0.97268
-0.188  0.891  1.77875  0.91062
-0.243  0.774  1.87500  0.81125
-0.264  0.628  1.96875  0.68123
-0.247  0.498  2.03123  0.55589
-0.192  0.310  2.12533  0.36464
-0.117  0.167  2.18192  0.20391
-0.063  0.084  2.21430  0.10500
0.079 -0.084  2.32553  0.11531
0.180 -0.167  2.39364  0.24554
0.280 -0.243  2.42682  0.37074
0.406 -0.310  2.48948  0.51082
0.544 -0.364  2.55190  0.65455
0.678 -0.393  2.61627  0.78367
0.753 -0.397  2.65640  0.85124
0.854 -0.385  2.71806  0.93677
0.933 -0.339  2.79308  0.99268
0.962 -0.268  2.86990  0.99863
0.925 -0.184  2.94524  0.94312
0.820 -0.096  3.02505  0.82560
0.682 -0.033  3.09324  0.68280
0.561  0.000  3.09324  0.56100
0.423  0.017  3.18176  0.42334
0.268  0.025  3.23461  0.26916
0.109  0.013  3.26030  0.10977
n=38
Программа такая
Код:
open #1,"data.txt","r"
open #2,"polar.txt","w"
for i=1 to 41
input #1 x,y
if i< 36 then
if x>0 and y>0 then t=atan(y/x):fi:fi
if i>36 then
if x>0 and y>0 then t=atan(y/x)+pi:fi:fi
if x>0 and y<0 then t=atan(y/x)+pi:fi
if x<0 then t=atan(y/x)+pi:fi
if x=0 and y>0 then t=pi/2:fi
if x=0 and y<0 then t=3*pi/2:fi
if x=0 and y=0 then t=0:fi
r=sqrt(x^2+y^2)
print #2,x using "##.###",y using "##.###",t using "##.#####",r using "##.#####"
next i

Три нулевые точки убрал, так как в них все автоматически выполняется. То есть работаю с 38-ю точками. Аппроксимация методом М-К:
Код:
open #1,"polar.txt","r"
open #2,"appr.txt","w"
dim t(100),r(100)
z=.0001
for i=1 to 38
input #1 x,y,t(i),r(i)
next i
s1=10^150:nn=10000000
a0=1:b0=1:c0=1:d0=1
for j=1 to nn
a=a0*(1+z*(ran()-.5))
b=b0*(1+z*(ran()-.5))
c=c0*(1+z*(ran()-.5))
d=d0*(1+z*(ran()-.5))
s=0
for i=1 to 38
t=t(i):r=r(i)
f=abs(sin(a*t^b+c*t^d))
s=s+(r-f)^2
next i
if s<=s1 then
print a,b,c,d,s
ak=a:bk=b:ck=c:dk=d:sk=s
s1=s
a0=a:b0=b:c0=c:d0=d
fi
next j
print #2,ak,bk,ck,dk,sk


Результаты после 10 минут счета: $0.205681 \quad  0.878532  \quad 0.523607 \quad 1.99955  \quad0.021612$

Сопоставление с точками не делал, но вижу - все идет нормально. Интересно, что вторая степень - это практически 2. Есть ли в этом физика, говорить затрудняюсь. Возможно и совпадение.

ИСН! В принципе мы решаем одну и ту же тригонометрию, но разными выражениями. Самое смешное, что начал я с арксинуса, который так удачно помогал нам. Но ничего не вышло и стал играть с синусом. Вот так все переплетается. Файл данных - это не тривиально. Поскольку задача опять свелась к классической нелинейной регрессии. Только функция аппроксимирующая такова, что справится с ней может только Монте-Карло. Как бы Вы сей метод ни критиковали.

 
 
 
 Re: Линейная регрессия
Сообщение11.02.2014, 09:25 
ИСН, а никак нельзя в Вашем
http://www.wolframalpha.com/input/?i=pl ... .5..3.5%29
избавиться от параметра и записать уравнение в явном виде $y=f(x) \, ?$ Или преобразовать в полярные координаты?

 
 
 
 Re: Линейная регрессия
Сообщение11.02.2014, 09:46 
Аватара пользователя
tatkuz1990, слушайте, так же нельзя. Вы не доверяете теориям - ладно, чёрт с ними, но должно же быть какое-то априорное представление о системе? Что делает этот Ваш поплавок, когда мы на него не смотрим? Продолжает писать лепестки вроде этих? Начинает метаться, как бешеная муха? Замирает в центре? Разгоняется и покидает Солнечную систему? Вам это совершенно всё равно? Все варианты равноценны? Ничего даже предположить нельзя? Ну ОК, тогда подгоняйте чем угодно.

 
 
 
 Re: Линейная регрессия
Сообщение11.02.2014, 10:06 
Подобные опыты я проводил и если посмотреть все кадры неподвижной камеры, то траектория поплавка - это как бы пружина, которая сама петляет в границах экрана. Если периоды каждой системы волн немного различаются, то наблюдается интересное явление: сначала поплавок петляет в одну сторону, а затем разворачивается и петляет в обратную сторону. Примерно так:
Изображение

Меня в данном случае физика мало волнует: она чрезвычайно сложная и бесполезная. Интерес дают детали траекторий. Форма некоторых настолько необычна, что хочется искать аппроксимации. В этом польза есть, так как осваиваются все новые и новые структуры формул.

 
 
 
 Re: Линейная регрессия
Сообщение11.02.2014, 10:29 
Аватара пользователя
Ну так я про это и спрашиваю. Значит что? Значит, траектория так и пишет лепестки (может быть, на фоне дополнительного крупномасштабного медленного дрейфа). А Ваше приближение что делает за пределами известной области? Похоже ли это на такую картину? Реалистично ли?
(Физика тут, по-моему, простая до банальности, ну да ладно, не будем лезть в теорию.)

 
 
 
 Re: Линейная регрессия
Сообщение11.02.2014, 11:18 
Если экстраполировать мою формулу и принять подвижную систему координат, то получается далеко до истины (я так думаю). Достаточно взглянуть:

Изображение

Как было в реальности, даже предполагать не могу. Зато освоен еще один метод аппроксимации: подбор приблизительной схожести на Вольфраме и уточнение параметров по простой программе. Еще один шаг, который может кому-нибудь в дальнейшем пригодиться.
Тут что для меня интересно? Если посмотреть текст программы, то я начальные 4 параметра принял единичными. Итерация, хоть и медленно, но уверенно оптимизировала коэффициенты и степени. Очень интересно было наблюдать, как витиевато шел процесс изменения чисел... В этом тоже какая-то магия.

 
 
 [ Сообщений: 208 ]  На страницу Пред.  1 ... 9, 10, 11, 12, 13, 14  След.


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group