Есть ещё подвижки.
Если взять точные значения (для приличной регрессии я посчитал все точные значени от 1k до 10k) и построить график -
от
, то результат очень близок к прямой (в среднем, не считая флуктуаций), но всё равно имеет хотя и маленькую, но значимую выпуклость вверх. Так что, если сделать линейную регрессию, то к
набегает заметная ошибка.
Пробовал добавить квадратный член. Всё равно к 100k ошибка набегает. Впрочем оно и понятно - квадратная аппроксимация (да и многочленом более высокой степени) хороша для интерполяции, а для экстраполяции толку мало, если конечно нет причин ожидать именно квадратичного закона.
Вобщем тут лучше подходит приближение рядом Лорана около точки
.
Получается:
(Пробовал только одну поправку добавить - тоже работает, но с двумя поправками заметно лучше.)
Эти 4 коэффициента нашел регрессией по всем точкам от 1k до 10k:
Код: Выбрать все
c=6.4983659 k=1.2984793 k1=-10.064678 k2=14.978246
Эта формула даёт довольно точный результат. Причем не только для интерполяции, но главное - для экстраполяции.
Код: Выбрать все
B точно Bref=3k Bref=10k формула
10: 0.133905 - - 0.12469382
30: 0.108681 - - 0.1075662
100: 0.0909331 - - 0.090798274
300: 0.0793299 - - 0.07933196
1k: 0.0697979 - - 0.069801954
3k: 0.0630040 - - 0.063005966
10k: 0.0570066 0.0570069 - 0.05700686
15k: 0.0552494 - - 0.05524956
20k: 0.0540705 0.0540618 - 0.054070574
30k: - 0.0524410 0.0524966 0.052496173
60k: - 0.0497233 - 0.050016678
100k: (0.0483436) 0.0477296 0.0483116 0.048340774
(Для 100k точного значения нет, есть только при Bref=20k.)
При
ошибка большая. Дальше уже лучше идёт. Начиная с
и до
формула даёт очень хорошую точность, т.е. экстраполяция действительно работает.
Ещё раз подчеркну, что не следует ожидать идеальной точности между формулой и точным значением, т.к. формула даёт гладкую усреднённую величину, а точное значение подвержено небольшим, но резким, псевдослучайным скачкам (зависит от разложения
на простые множители).
PS: по формуле матожидание качества достигнет
при
.