Дискуссионный математический форумМатематический форум
Математический форум Math Help Planet

Обсуждение и решение задач по математике, физике, химии, экономике

Теоретический раздел
Часовой пояс: UTC + 3 часа [ Летнее время ]
новый онлайн-сервис
число, сумма и дата прописью

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 20 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Метод наименьших квадратов для произвольной функции
СообщениеДобавлено: 27 июн 2018, 11:23 
Не в сети
Одарённый
Зарегистрирован:
20 дек 2016, 11:08
Сообщений: 153
Cпасибо сказано: 2
Спасибо получено:
6 раз в 5 сообщениях
Очков репутации: -3

Добавить очки репутацииУменьшить очки репутации
Приветствую

Сразу извиняюсь за то, что тему выложил в данный раздел - не знаю в каком именно разделе её лучше разместить, поэтому, модераторы, надежда на вас.

Столкнулся со следующей проблемой:
У меня есть набор точек на плоскости [math]\left\{ p_{i} \right\}[/math] и есть некоторая непрерывная функция [math]f(x, \left\{ a_{j} \right\} )[/math] (в моём случае это была функция логнормального распределения [math]y=a_{1} \times \frac{e^{-\frac{(x-a_{2})^{2} }{ 2 a_{3}^{2} } }}{ x \times a_{3} \times \sqrt{2 \pi }}[/math]).
Необходимо методом наименьших квадратов вычислить эти коэффициенты.

Есть ли какой-то удобоваримый универсальный способ вычисления коэффициентов? Пусть с вычислением производных и т.д., но чтобы можно было выразить как
[math]a_{i}=g_{i}(f, \left\{ a_{j} \right\})[/math]

Учитывая, что задача прикладная, сделал методом подбора:
1) вычисляется отклонение от кривой для всех совокупностях параметров [math]a(i)=a_{min}(i)...a_{max}(i)[/math]
2) когда значения найдено, изменяются [math]a_{min)(i)[/math] и [math]a_{max}(i)[/math] приближаясь к вычисленному значению [math]a(i)[/math] методом бинарного поиска
3) после нескольких итераций считается, что коэффициенты вычислены

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

в результате метод даёт хорошие результаты для 3 параметров, 10 итераций (более-менее точный результат уже на 1-2 итерации возникает, если кол-во разбиений параметров большое), разбиение каждого из параметров на 10-100 частей

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

--

Поэтому такой вопрос - можно ли снизить использование таких численных методов и попробовать хотя бы частично решить задачу аналитически?

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Метод наименьших квадратов для произвольной функции
СообщениеДобавлено: 27 июн 2018, 13:45 
Не в сети
Light & Truth
Аватара пользователя
Зарегистрирован:
03 апр 2012, 19:13
Сообщений: 13534
Откуда: Москва
Cпасибо сказано: 1290
Спасибо получено:
3616 раз в 3175 сообщениях
Очков репутации: 678

Добавить очки репутацииУменьшить очки репутации
Fireman, я такие задачи щелкаю методом Монте-Карло. Ничего более лучшего не видел.
Покажите Ваши точки и попробую оптимизировать Ваши параметры.

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Метод наименьших квадратов для произвольной функции
СообщениеДобавлено: 03 июл 2018, 16:14 
Не в сети
Одарённый
Зарегистрирован:
20 дек 2016, 11:08
Сообщений: 153
Cпасибо сказано: 2
Спасибо получено:
6 раз в 5 сообщениях
Очков репутации: -3

Добавить очки репутацииУменьшить очки репутации
Avgust
Цитата:
Покажите Ваши точки и попробую оптимизировать Ваши параметры.


Для суммы двух логнормальных распределений получил следующие коэффициенты:
a1 = 1,0000 mu1 = 3,8306 sigma1 = 0,6941
a2 = 0,0950 mu2 = 4,5450 sigma2 = 0,0750

[math]p=a_{1} \frac{e^{\frac{-(ln(x) - \mu _{1})^{2}}{2 \sigma_{1}^{2}} } }{\sqrt{2 \pi } \sigma_{1} x} + a_{2} \frac{e^{\frac{-(ln(x) - \mu _{2})^{2}}{2 \sigma_{2}^{2} } } } {\sqrt{2 \pi } \sigma_{2} x}[/math]

Точность: e-4

Вот какие данные (не могу присоединить файл, запрещено администратором):
0 0.00000563657342169289
1 0.00001814814604766820
2 0.00003684027351385720
3 0.00006918980680673530
4 0.00012275461542191900
5 0.00023127312138042500
6 0.00044159717111143800
7 0.00080253462933626900
8 0.00137863409969512000
9 0.00221277752166926000
10 0.00327017323261883000
11 0.00457942076627074000
12 0.00603720994939699000
13 0.00755273060732284000
14 0.00905154987829283000
15 0.01046247564091710000
16 0.01170152642343440000
17 0.01275693139387360000
18 0.01363207018147330000
19 0.01433286871147350000
20 0.01483623670876890000
21 0.01522385240464670000
22 0.01551046116777070000
23 0.01570489401563720000
24 0.01583872501866600000
25 0.01589996343750420000
26 0.01592627130482970000
27 0.01589686158601130000
28 0.01584211622197720000
29 0.01574909539941020000
30 0.01563532226443020000
31 0.01553130607276550000
32 0.01533972044679160000
33 0.01519141027877190000
34 0.01502240566870300000
35 0.01484307698575490000
36 0.01457341266511420000
37 0.01437901453946590000
38 0.01416482474944150000
39 0.01395496366261990000
40 0.01371476693116120000
41 0.01345169983197910000
42 0.01317491745660670000
43 0.01292354017088650000
44 0.01265029946177090000
45 0.01239524162092110000
46 0.01210575091368620000
47 0.01183031113075100000
48 0.01153629496107690000
49 0.01124529962438660000
50 0.01098098252534920000
51 0.01071322792670970000
52 0.01043154971857060000
53 0.01017363308175540000
54 0.00990285765013221000
55 0.00962718638574231000
56 0.00939132993155903000
57 0.00912510311052047000
58 0.00888234850898744000
59 0.00866470964528823000
60 0.00842783467270432000
61 0.00821107543853293000
62 0.00799693194479954000
63 0.00779369122758203000
64 0.00758270745570515000
65 0.00740043895828252000
66 0.00722396907129987000
67 0.00705492973901276000
68 0.00687036957518870000
69 0.00672459412909790000
70 0.00656960572111044000
71 0.00643994138426604000
72 0.00629557797504884000
73 0.00621249928096073000
74 0.00611215207035277000
75 0.00603089050568396000
76 0.00594513820079418000
77 0.00591599468564876000
78 0.00589467524367184000
79 0.00590989514931769000
80 0.00597227940135655000
81 0.00609531179452409000
82 0.00628326316165935000
83 0.00654959414935252000
84 0.00683747606047730000
85 0.00712455936058340000
86 0.00748055468975061000
87 0.00783212872313325000
88 0.00816378377733984000
89 0.00847086707513112000
90 0.00878781148289218000
91 0.00902160775212873000
92 0.00918536930724892000
93 0.00923401513495195000
94 0.00916914245727517000
95 0.00899899201400555000
96 0.00873571658151428000
97 0.00840996430440228000
98 0.00801940879404990000
99 0.00759464032469440000
100 0.00712177000905439000
101 0.00662323997416204000
102 0.00616263817562058000
103 0.00566883036240389000
104 0.00519031189926945000
105 0.00473935130331582000
106 0.00430130737253386000
107 0.00388789306853089000
108 0.00349033524417416000
109 0.00313480287791633000
110 0.00281694411840924000
111 0.00252980294793947000
112 0.00225756918315171000
113 0.00201347198918148000
114 0.00179701368090119000
115 0.00159299750081047000
116 0.00142927066790848000
117 0.00126931698271794000
118 0.00113607625739858000
119 0.00101769664147029000
120 0.00090606470994621400
121 0.00081240731337878300
122 0.00072581010117938600
123 0.00065343742437066800
124 0.00058517354338269100
125 0.00052886567952943500
126 0.00047679392629699900
127 0.00043103004270485600
128 0.00038834486246008500
129 0.00035547449589415500
130 0.00032202542569150100
131 0.00029393515116491300
132 0.00026729163573013400
133 0.00024592589746228000
134 0.00022733793665070100
135 0.00020857636474810500
136 0.00019127312601005400
137 0.00017914349778431700
138 0.00016144674057329300
139 0.00014702544594612800
140 0.00013953702088691800
141 0.00012728007786110200
142 0.00011877313440125700
143 0.00011089119086907500
144 0.00010276619180946800
145 0.00009586804445971700
146 0.00008781248983651730
147 0.00008262730525146930
148 0.00007549767644702810
149 0.00007015045484369730
150 0.00006766202920578360
151 0.00006214119651143550
152 0.00006031249301938730
153 0.00005576388243473580
154 0.00005175925326860490
155 0.00004872684621217050
156 0.00004767360559333260
157 0.00004356480977259140
158 0.00004207175438984320
159 0.00003802082893277440
160 0.00003679397722291930
161 0.00003534721813110900
162 0.00003266203325670910
163 0.00003072916311005050
164 0.00002805555230838510
165 0.00002857638558143680
166 0.00002605323772531970
167 0.00002491897859734040
168 0.00002415508979686460
169 0.00002315971954169910
170 0.00002194444190457840
171 0.00002094907164941300
172 0.00001945601626666470
173 0.00001855323859337510
174 0.00001744212761086480
175 0.00001675925731953040
176 0.00001659722030124760
177 0.00001521990564584420
178 0.00001489583160927870
179 0.00001449073906357180
180 0.00001366897989942360
181 0.00001300925775355810
182 0.00001178240604370300
183 0.00001218749858940980
184 0.00001158564680721680
185 0.00001115740611604090
186 0.00001053240618837890
187 0.00000974536924243411
188 0.00000990740626071686
189 0.00001010416549720300
190 0.00000905092487836517
191 0.00000962962851508929
192 0.00000879629527820656
193 0.00000841435087796864
194 0.00000792823982312039
195 0.00000825231385968589
196 0.00000769675836843074
197 0.00000696759178615835
198 0.00000719907324084800
199 0.00000751157320467902
200 0.00000649305480404458
201 0.00000606481411286873
202 0.00000629629556755838
203 0.00000592592524005494
204 0.00000553240676708255
205 0.00000575231414903771
206 0.00000579861043997564
207 0.00000519675865778256
208 0.00000454861058465155
209 0.00000471064760293430
210 0.00000482638833027912
211 0.00000420138840261708
212 0.00000421296247535156
213 0.00000431712912996190
214 0.00000429398098449294
215 0.00000438657356636880
216 0.00000403935138433433
217 0.00000371527734776882
218 0.00000369212920229986
219 0.00000359953662042400
220 0.00000361111069315848
221 0.00000324074036565505
222 0.00000318287000198263
223 0.00000333333294753090
224 0.00000341435145667228
225 0.00000332175887479642
226 0.00000289351818362058
227 0.00000311342556557574
228 0.00000284722189268265
229 0.00000283564781994816
230 0.00000282407374721368
231 0.00000248842563791369
232 0.00000266203672893093
233 0.00000252314785611714
234 0.00000223379603775508
235 0.00000232638861963094
236 0.00000221064789228612
237 0.00000269675894713438
238 0.00000238425898330335
239 0.00000234953676509991
240 0.00000210648123767578
241 0.00000222222196502060
242 0.00000221064789228612
243 0.00000186342571025165
244 0.00000178240720111027
245 0.00000206018494673785
246 0.00000159722203735856
247 0.00000172453683743786
248 0.00000185185163751717
249 0.00000165509240103097
250 0.00000188657385572061
251 0.00000188657385572061
252 0.00000155092574642063
253 0.00000142361094634132
254 0.00000152777760095166
255 0.00000143518501907580
256 0.00000173611091017234
257 0.00000155092574642063
258 0.00000151620352821718
259 0.00000160879611009304
260 0.00000128472207352753
261 0.00000133101836446546
262 0.00000128472207352753
263 0.00000129629614626202
264 0.00000127314800079305
265 0.00000112268505524478
266 0.00000097222210969652
267 0.00000112268505524478
268 0.00000118055541891719
269 0.00000119212949165167
270 0.00000113425912797926
271 0.00000105324061883789
272 0.00000107638876430685
273 0.00000106481469157237
274 0.00000086805545508617
275 0.00000097222210969652
276 0.00000104166654610340
277 0.00000091435174602410
278 0.00000109953690977582
279 0.00000092592581875859
280 0.00000089120360055514
281 0.00000081018509141376
282 0.00000090277767328962
283 0.00000092592581875859
284 0.00000093749989149307
285 0.00000084490730961721
286 0.00000079861101867928
287 0.00000077546287321032
288 0.00000084490730961721
289 0.00000060185178219308
290 0.00000068287029133446
291 0.00000078703694594480
292 0.00000068287029133446
293 0.00000061342585492756
294 0.00000075231472774135
295 0.00000075231472774135
296 0.00000067129621859997
297 0.00000046296290937929
298 0.00000061342585492756
299 0.00000059027770945860
300 0.00000064814807313101

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Метод наименьших квадратов для произвольной функции
СообщениеДобавлено: 04 июл 2018, 01:57 
Не в сети
Последняя инстанция
Аватара пользователя
Зарегистрирован:
28 дек 2011, 15:16
Сообщений: 11671
Откуда: Дивногорск
Cпасибо сказано: 795
Спасибо получено:
1984 раз в 1822 сообщениях
Очков репутации: 314

Добавить очки репутацииУменьшить очки репутации
Fireman, сумма весовых коэффициентов должна давать единицу.

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Метод наименьших квадратов для произвольной функции
СообщениеДобавлено: 04 июл 2018, 10:29 
Не в сети
Одарённый
Зарегистрирован:
20 дек 2016, 11:08
Сообщений: 153
Cпасибо сказано: 2
Спасибо получено:
6 раз в 5 сообщениях
Очков репутации: -3

Добавить очки репутацииУменьшить очки репутации
Talanov, не совсем понял
В приведённой таблице сумма значений равна 0,999965984
Я мог привести все 2000 и тогда было бы ровно 1,00000000,
но думаю и такого значения достаточно

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Метод наименьших квадратов для произвольной функции
СообщениеДобавлено: 04 июл 2018, 11:08 
Не в сети
Последняя инстанция
Аватара пользователя
Зарегистрирован:
28 дек 2011, 15:16
Сообщений: 11671
Откуда: Дивногорск
Cпасибо сказано: 795
Спасибо получено:
1984 раз в 1822 сообщениях
Очков репутации: 314

Добавить очки репутацииУменьшить очки репутации
Для смеси должно быть [math]a_1+a_2=1[/math]. А у вас?

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Метод наименьших квадратов для произвольной функции
СообщениеДобавлено: 04 июл 2018, 23:41 
Не в сети
Light & Truth
Аватара пользователя
Зарегистрирован:
03 апр 2012, 19:13
Сообщений: 13534
Откуда: Москва
Cпасибо сказано: 1290
Спасибо получено:
3616 раз в 3175 сообщениях
Очков репутации: 678

Добавить очки репутацииУменьшить очки репутации
Я нашел наилучшую формулу (безо всяких смесей) которая дала сумму квадратов отклонений 0.000481
Если такое годится, то завтра могу показать.

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Метод наименьших квадратов для произвольной функции
СообщениеДобавлено: 05 июл 2018, 11:24 
Не в сети
Одарённый
Зарегистрирован:
20 дек 2016, 11:08
Сообщений: 153
Cпасибо сказано: 2
Спасибо получено:
6 раз в 5 сообщениях
Очков репутации: -3

Добавить очки репутацииУменьшить очки репутации
Avgust
конечно показывай
Но как без смешивания? 2 явных пика и одной функцией логнормального распределения не описываются

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Метод наименьших квадратов для произвольной функции
СообщениеДобавлено: 06 июл 2018, 12:06 
Не в сети
Одарённый
Зарегистрирован:
20 дек 2016, 11:08
Сообщений: 153
Cпасибо сказано: 2
Спасибо получено:
6 раз в 5 сообщениях
Очков репутации: -3

Добавить очки репутацииУменьшить очки репутации

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Метод наименьших квадратов для произвольной функции
СообщениеДобавлено: 06 июл 2018, 13:50 
Не в сети
Одарённый
Зарегистрирован:
20 дек 2016, 11:08
Сообщений: 153
Cпасибо сказано: 2
Спасибо получено:
6 раз в 5 сообщениях
Очков репутации: -3

Добавить очки репутацииУменьшить очки репутации
картинки не прикрепились :(

У меня получилась вот такая ситуация (рассчёт по 5-10 минут)

когда a1 + a2 <> 1

sigma1: 0,63508900
sigma2: 0,09061826

mu1: 3,74665072
mu2: 4,54467276

a1: 0,90000000
a2: 0,13520600

ols 0,00003478
delta 0,00589770


когда a1 + a2 = 1

sigma1: 0,61450755
sigma2: 0,09881236

mu1: 3,72040373
mu2: 4,54260960

a1: 0,85555383
a2: 0,14444617

ols 0,00004189
delta 0,00647251

Вернуться к началу
 Профиль  
Cпасибо сказано 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему    На страницу 1, 2  След.  Страница 1 из 2 [ Сообщений: 20 ]

 Похожие темы   Автор   Ответы   Просмотры   Последнее сообщение 
Метод наименьших квадратов; почему именно квадратов?

в форуме Численные методы

tushkan

17

3033

04 апр 2015, 15:19

Метод наименьших квадратов

в форуме Дифференциальное исчисление

Andrey82

9

288

02 авг 2020, 12:30

Метод наименьших квадратов

в форуме Численные методы

Fireman

6

535

12 дек 2018, 14:58

Метод наименьших квадратов

в форуме Численные методы

Dolgopups_poschadi

9

913

09 янв 2016, 16:06

Метод наименьших квадратов

в форуме Математическая статистика и Эконометрика

tabaluga13

4

348

26 окт 2018, 19:06

Метод наименьших квадратов

в форуме Численные методы

Dmitriy70

9

497

18 июн 2017, 15:27

Метод наименьших квадратов

в форуме Численные методы

cincinat

2

486

16 окт 2015, 19:07

Аппроксимация данных. Метод наименьших квадратов

в форуме Maple

aflear

34

2714

19 мар 2016, 12:18

Полином Чебышева, метод наименьших квадратов

в форуме Численные методы

hurricane

1

472

08 мар 2016, 17:48

Найти по методу наименьших квадратов

в форуме Теория вероятностей

vega

1

695

28 апр 2015, 23:31


Часовой пояс: UTC + 3 часа [ Летнее время ]



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Яндекс.Метрика

Copyright © 2010-2023 MathHelpPlanet.com. All rights reserved