Сейчас на борту: 
KonstantinK,
Азов
   [Подробнее...]

Страниц: 1 2

#1 21.10.2011 14:02:28

3apa3a
Капитанъ I ранга
k1r
Сообщений: 1486




Изготовление эмпирических формул

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

Для примера, я ввел в нее данные по русской корабельной артиллерии времен РЯВ и поискал зависимость начальной скорости снаряда от этих параметров. За сутки выдалось 46 формул разной точности, вот парочка из них:

С точностью до 2 процентов работает эмпирическая формула:
V=11.099444 + 8.53543*Ws + 2.82851*powc(Lm, 3.0886209) + 1171.335/(350.88177 - 0.15443131*powc(Lm, 3.0886209))

C точностью до 0.2 процента:

V=7.3028708 + 8.5449238*sqrt(Ws*Ws - 10.04253/(Lm - 10.674435)) + 2.8139589*powc(Lm, 3.0886209) + 1171.5255/(350.87491 - 0.15443131*powc(Lm, 3.0886209)) + powc(Ws, 0.92095309)/(sqrt(Ws) - Lm) - Lm

Где Ws - вес снаряда в кг, Lm - длина ствола в метрах.
Позабавило, что от веса заряда и его типа, калибра и прочих параметров орудия эта скорость не зависит :)


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

#2 21.10.2011 17:02:19

Ulmo
Участник форума
Откуда: Минск
Сообщений: 138




Re: Изготовление эмпирических формул

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

#3 21.10.2011 17:35:52

3apa3a
Капитанъ I ранга
k1r
Сообщений: 1486




Re: Изготовление эмпирических формул

Ulmo написал:

Оригинальное сообщение #432306
Надо будет попробовать этой программе скормить данные по водоизмещениям, линейным размерам, числу винтов, мощности машин и скорости.

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


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

#4 21.10.2011 19:33:25

Alex_12
Капитанъ II ранга
k2r
тяжелый авианесущий бриг "Red Alert"
Сообщений: 3936




Re: Изготовление эмпирических формул

3apa3a написал:

Оригинальное сообщение #432258
Имеется забавная программка, которая по имеющимся данным умеет генерировать эмпирические формулы. Eureqa называется.

можно ссылочку - где скачать ?

#5 21.10.2011 20:47:15

3apa3a
Капитанъ I ранга
k1r
Сообщений: 1486




Re: Изготовление эмпирических формул

Alex_12 написал:

Оригинальное сообщение #432325
можно ссылочку - где скачать ?

http://creativemachines.cornell.edu/eureqa


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

#6 21.10.2011 21:28:51

Alex_12
Капитанъ II ранга
k2r
тяжелый авианесущий бриг "Red Alert"
Сообщений: 3936




Re: Изготовление эмпирических формул

о, спасибо !   интересная вещица...

#7 21.10.2011 21:50:12

Олег
Контр-адмиралъ
k-admiral
Откуда: Москва
корабль Трех Святителей: Василия Великого, Григория Богослова, Иоанна Златоуст
Сообщений: 5904




Re: Изготовление эмпирических формул

3apa3a написал:

Оригинальное сообщение #432258
Имеется забавная программка, которая по имеющимся данным умеет генерировать эмпирические формулы.

Таких программок весьма много. Ценность их сомнительна. Попробуйте вывести формулу по половине известных данных. а потом подставьте в нее оставшиеся данные. Боюсь результаты вас разочаруют. "Бог мыслит в частных производных" (с), а настолько дробные степени дают апроксимацию только в ограниченном диапазоне исходных величин.


“My country, right or wrong; if right, to be kept right; and if wrong, to be set right.”
Carl Schurz

#8 21.10.2011 23:37:15

3apa3a
Капитанъ I ранга
k1r
Сообщений: 1486




Re: Изготовление эмпирических формул

Олег написал:

Оригинальное сообщение #432361
Попробуйте вывести формулу по половине известных данных. а потом подставьте в нее оставшиеся данные.

Пробовал. Сходится. :)
Более того, для дульной энергии эта штука честно вывела формулу m*v^2/2 :)

Олег написал:

Оригинальное сообщение #432361
"Бог мыслит в частных производных" (с), а настолько дробные степени дают апроксимацию только в ограниченном диапазоне исходных величин.

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

Ну, и я не собираюсь считать данные по 9000 мм орудию с полуметровым стволом. :) А вот какое нибудь 130 мм 50 калиберное - даст приличный результат.

Отредактированно 3apa3a (21.10.2011 23:46:11)


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

#9 22.10.2011 00:16:28

Олег
Контр-адмиралъ
k-admiral
Откуда: Москва
корабль Трех Святителей: Василия Великого, Григория Богослова, Иоанна Златоуст
Сообщений: 5904




Re: Изготовление эмпирических формул

3apa3a написал:

Оригинальное сообщение #432378
А вот какое нибудь 130 мм 50 калиберное - даст приличный результат.

А 12"/20 Петра Великого тоже подходит?

3apa3a написал:

Оригинальное сообщение #432378
Более того, для дульной энергии эта штука честно вывела формулу m*v^2/2

Ничего удивительного - непосредственно померять энергию довольно сложно, ее просто рассчитывают зная скорость и массу :D

3apa3a написал:

Оригинальное сообщение #432378
А вот какое нибудь 130 мм 50 калиберное - даст приличный результат.

С учетом того, что ваша формула не имеет зависимости от  массы заряда и его состава можно сделать только один вывод - при проектировании 130/50 использовали те же эспирические формулы, что и при проектировании 12"/40. Тоже интересно.


“My country, right or wrong; if right, to be kept right; and if wrong, to be set right.”
Carl Schurz

#10 22.10.2011 08:40:34

3apa3a
Капитанъ I ранга
k1r
Сообщений: 1486




Re: Изготовление эмпирических формул

Олег написал:

Оригинальное сообщение #432383
С учетом того, что ваша формула не имеет зависимости от  массы заряда и его состава можно сделать только один вывод - при проектировании 130/50 использовали те же эспирические формулы, что и при проектировании 12"/40. Тоже интересно.

Можно сделать и другой вывод - предел ставит прочность ствола. А заряд всегда пихают такой, лишь бы ствол выдержал.


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

#11 26.10.2011 15:07:18

AVerner
Гость




Re: Изготовление эмпирических формул

3apa3a написал:

Оригинальное сообщение #432402
Можно сделать и другой вывод - предел ставит прочность ствола. А заряд всегда пихают такой, лишь бы ствол выдержал.

Угу. И чем длиннее ствол и круче шаг нарезов - тем менее прочен ствол. Англы с 12" это поняли с первыми ЛК быстро :)

#12 26.10.2011 15:57:32

vov
Гость




Re: Изготовление эмпирических формул

Действительно, любопытно.
Программ множественной регресии достаточно. Надо будет попробовать и эту. Раз она даёт такие интересные результаты:-)

3apa3a написал:

Оригинальное сообщение #432258
Позабавило, что от веса заряда и его типа, калибра и прочих параметров орудия эта скорость не зависит

Это не так уж и удивительно. Длина ствола, видимо - абсолютная? (В ед.длины?)
Тогда косвенно тут и калибра присутствует. Ещё более косвенно - хар-ки заряда. Поскольку ствол (длину его, в частности) рассчитывают с учётом оных.

Олег написал:

Оригинальное сообщение #432361
Попробуйте вывести формулу по половине известных данных. а потом подставьте в нее оставшиеся данные. Боюсь результаты вас разочаруют.

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

Кстати, вопрос к первопроходцу: 0,2% - чего? Среднеквадратичного отклонения?
Тогда большой массив напротив, может "размазать" концептуальные ошибки.

#13 26.10.2011 16:49:38

3apa3a
Капитанъ I ранга
k1r
Сообщений: 1486




Re: Изготовление эмпирических формул

vov написал:

Оригинальное сообщение #433460
Кстати, вопрос к первопроходцу: 0,2% - чего? Среднеквадратичного отклонения?

В данной конкретной формуле  "Mean absolute error" = 0.002
Как я осознал после вашего вопроса - 0.002 метров в секунду. :)
Там это дело настраиваемое - можно использовать  и среднеквадратичное, и корень из среднеквадратичного - всего 11 вариантов я насчитал.

vov написал:

Оригинальное сообщение #433460
Длина ствола, видимо - абсолютная? (В ед.длины?)

Да, в метрах

Отредактированно 3apa3a (26.10.2011 16:55:27)


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

#14 26.10.2011 18:24:15

Aurum
Лейтенантъ
let
Откуда: Киев
Сообщений: 3273




Re: Изготовление эмпирических формул

Олег написал:

Оригинальное сообщение #432361
Таких программок весьма много.

А какие ещё? На сколько я знаю маткады/матлабы должны подобным заниматься неплохо


«Небывалое бывает»
  Петр Великий

#15 26.10.2011 19:07:52

Prinz Eugen
Рядовой запаса
KMS Schwere Kreuzer Prinz Eugen
Сообщений: 23716




Re: Изготовление эмпирических формул

Aurum написал:

Оригинальное сообщение #433487
А какие ещё? На сколько я знаю маткады/матлабы должны подобным заниматься неплохо

При очень большом объёме статистики.
Мы таким баловались: при разнице в выборке даже в два раза функция бывало не уточнялась а полностью менялась.


Ubi Sabaudia ibi victoria

#16 26.10.2011 19:49:23

vov
Гость




Re: Изготовление эмпирических формул

3apa3a написал:

Оригинальное сообщение #433472
В данной конкретной формуле  "Mean absolute error" = 0.002
Как я осознал после вашего вопроса - 0.002 метров в секунду.

Это круто. Я бы сказал, даже слишком:-)
Для орудий одного периода и одной страны - ещё так-сяк. А при большой выборке что-то слишком точно:-)
Надо попробовать.

Prinz Eugen написал:

Оригинальное сообщение #433500
при разнице в выборке даже в два раза функция бывало не уточнялась а полностью менялась.

Это специфика всех "ложно-аналитичских" аппроксимаций. Поскольку физ.смысла там или нет совсем, или он выхолощен, то все эти степени и к-ты "плавают", как хотят.

#17 26.10.2011 21:09:16

Олег
Контр-адмиралъ
k-admiral
Откуда: Москва
корабль Трех Святителей: Василия Великого, Григория Богослова, Иоанна Златоуст
Сообщений: 5904




Re: Изготовление эмпирических формул

Aurum написал:

Оригинальное сообщение #433487
А какие ещё?

Мне Mathematica нравится.


“My country, right or wrong; if right, to be kept right; and if wrong, to be set right.”
Carl Schurz

#18 03.11.2011 13:39:06

3apa3a
Капитанъ I ранга
k1r
Сообщений: 1486




Re: Изготовление эмпирических формул

Ulmo написал:

Оригинальное сообщение #432306
Надо будет попробовать этой программе скормить данные по водоизмещениям, линейным размерам, числу винтов, мощности машин и скорости

Ну как то так: :)

V=2.1414835 + powc(L, 0.71794522)*powc(H, -0.47393671) + 0.4398894*P/(D*powc(1.0031022*H, -0.98391849) + powc(Ne, 5.5544081)*powc(1.0031022*H, -2.0958438)) - powc(0.063844964*W, -0.80920851)

где V- максимальная скорость в узлах
L - длина в метрах, H- осадка в метрах, W- ширина в метрах, P - мощность машин в лс, D- водоизмещение в тоннах, Ne - число валов ду.

Максимальная ошибка 1.87 узла, средняя 1.05 на наборе данных: 1 и 2 тоэ.

Отредактированно 3apa3a (03.11.2011 13:44:32)


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

#19 03.11.2011 15:28:33

vov
Гость




Re: Изготовление эмпирических формул

3apa3a написал:

Оригинальное сообщение #435731
Максимальная ошибка 1.87 узла, средняя 1.05 на наборе данных: 1 и 2 тоэ.

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

#20 03.11.2011 15:44:08

3apa3a
Капитанъ I ранга
k1r
Сообщений: 1486




Re: Изготовление эмпирических формул

vov написал:

Оригинальное сообщение #435750
Свидетельство того, что без форм корпуса не обойтись.

Или без знания глубин мерной мили  - ясно что у "американцев" Варяга и Ретвизана она была иной,чем у немца "Лейтенант Бураков". А максимальную ошибку как раз последний и выдает...


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

#21 03.11.2011 15:54:14

Aurum
Лейтенантъ
let
Откуда: Киев
Сообщений: 3273




Re: Изготовление эмпирических формул

Извиняюсь, чо это такое?

3apa3a написал:

Оригинальное сообщение #435731
V=2.1414835 + powc(L, 0.71794522)*powc(H, -0.47393671) + 0.4398894*P/(D*powc(1.0031022*H, -0.98391849) + powc(Ne, 5.5544081)*powc(1.0031022*H, -2.0958438)) - powc(0.063844964*W, -0.80920851)

Я так понимаю, что вы составили таблицу со всеми этими параметрами для некоторых (всех?) кораблей 1,2ТОЭ. Программа апроксимировала формулу и посчитала коефициенты, так?

Попробуйте вставить туда данные по японцам, немцам, бритам (особенно). Немного расширить эпоху напр. на 1905-10 гг. (там много разных образцов). Можно конечно не все пордряд, а избирательно.

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

Отредактированно Aurum (03.11.2011 16:04:03)


«Небывалое бывает»
  Петр Великий

#22 03.11.2011 16:16:51

Aurum
Лейтенантъ
let
Откуда: Киев
Сообщений: 3273




Re: Изготовление эмпирических формул

Prinz Eugen написал:

Оригинальное сообщение #433500
Мы таким баловались: при разнице в выборке даже в два раза функция бывало не уточнялась а полностью менялась.

Всё-таки сам закон = тип функции хорошо бы выбитать из тех или иных теоретических саабражений :) И при увеличении статистики уже стмотреть как для этого типа функции меняется точность.
Если она в обратной связи, тогда конечно функцию надо менять ;)

vov написал:

Оригинальное сообщение #433516
Поскольку физ.смысла там или нет совсем, или он выхолощен, то все эти степени и к-ты "плавают", как хотят.

Между тем "официально признанные" формулы также строятся просто по аналогии, без учёта какого-либо физ. смысла ;)
Статья из "Кораблестроения" на эту тему
http://ifolder.ru/26734625

Отредактированно Aurum (03.11.2011 16:22:20)


«Небывалое бывает»
  Петр Великий

#23 03.11.2011 16:29:33

3apa3a
Капитанъ I ранга
k1r
Сообщений: 1486




Re: Изготовление эмпирических формул

Aurum написал:

Оригинальное сообщение #435760
Извиняюсь, чо это такое?

Возведение первого аргумента в степень второго аргумента

Aurum написал:

Оригинальное сообщение #435760
Попробуйте вставить туда данные по японцам,

Японо-бриты: :)

Микаса - 16.78 (ошибка -1.72)
Асахи - 16.76 (ошибка -1.54)

Японо-немец Чин-Иен - 14.31 (ошибка -0.4)

Японо-итальянец Касуга - 18.39 (ошибка -1.66)

1913 год- брит - Ривендж - 22.23 (ошибка -0 (скорость для серии дана как 22-23 узла))

Вроде как в пределах объявленной точности.

Отредактированно 3apa3a (03.11.2011 16:45:19)


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

#24 03.11.2011 16:48:51

Aurum
Лейтенантъ
let
Откуда: Киев
Сообщений: 3273




Re: Изготовление эмпирических формул

3apa3a написал:

Возведение первого аргумента в степень второго аргумента

Спасибо, но если с повторным извинением, как это расшифровывается на англицком? :)

3apa3a написал:

Вроде как в пределах объявленной точности.

Какая точность была объявлена?

3apa3a написал:

Микаса - 16.78 (ошибка -1.72)
Асахи - 16.76 (ошибка -1.54)

Если ошибка указана в узлах, то относитальная погрешность выходит ~10%!!! Это конечно ОЧЕНЬ МНОГО.  Для такой точность не нужно ни такие формУлы апрксимировать, ни статистику набивать. Польза будет если надёжно попадать хотя бы в 2-3%.

Если к таким делам подходить серьёзно, то "обкатывать" формулу нужно на небольшом числе очень близких кораблей, для которых известны данные испытаний, а возможно и практики, с максимальной полнотой и точностью (обычно первое кореллирует со вторым).
И обкатывать не только по данным макс. скоростей, но и по всем пробегам для скоростей напр. в диапазоне 10-18/20 уз. При этом посмотреть как изменяются коефикиенты при расчёте скорости по мощности для нескольких (хотя бы 4-6) точек из ВСЕГО этого диапазона.

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

Отредактированно Aurum (03.11.2011 16:49:30)


«Небывалое бывает»
  Петр Великий

#25 03.11.2011 17:08:19

3apa3a
Капитанъ I ранга
k1r
Сообщений: 1486




Re: Изготовление эмпирических формул

Aurum написал:

Оригинальное сообщение #435771
Спасибо, но если с повторным извинением, как это расшифровывается на англицком?

Power Complex (есть такая функция в дельфи: powc).


Aurum написал:

Оригинальное сообщение #435771
Какая точность была объявлена?

3apa3a написал:

Оригинальное сообщение #435731
Максимальная ошибка 1.87 узла, средняя 1.05 на наборе данных: 1 и 2 тоэ.

Aurum написал:

Оригинальное сообщение #435771
Если к таким делам подходить серьёзно, то "обкатывать" формулу нужно на небольшом числе очень близких кораблей

Тогда и получаются формулы, вроде афанасьевской, в которой 5% точность достигается с помощью непонятно как расчитываемого адмиралтейского коэффициента - в итоге измеряемого всеми экспериментально. Но у меня опытового бассейна нет :)
Поэтому я искал формулу, покрывающую диапазон водоизмещений от номерных миноносок ВОК до Микасы, скорости от Лейтенанта Буракова до Корейца. Ну да, средняя ошибка 1 узел - те же 5 процентов, что и Афанасьевская. Максимальную же ошибку уменьшить - раз плюнуть. Исключить, например, из набора данных  того же Лейтенанта Буракова.


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

Страниц: 1 2


Board footer