Здравствуйте, deniok, Вы писали:
D>Ноги оторвать тем, кто так измеряет
D>Доверительная вероятность, доверительный интервал — такие слова что-нибудь говорят?
Это один из способов представления результатов измерений. Но можно и другие способы использовать, в частности — интервальный.
D>Слава богу, что таких чиселок, которые автор предлагает нет! А то программисты с их помощью напрограммируют...
Что значит "таких чиселок нет"? Есть, и их можно использовать в соответствующих задачах.
Конечно, есть свои ограничения (как и у каждого способа), и о них говорится в статье.
Здравствуйте, Хитрик Денис, Вы писали:
ХД>Здравствуйте, deniok, Вы писали:
D>>Ноги оторвать тем, кто так измеряет
ХД>
D>>Доверительная вероятность, доверительный интервал — такие слова что-нибудь говорят?
ХД>Это один из способов представления результатов измерений. Но можно и другие способы использовать, в частности — интервальный.
Можно. И на каждый из используемых способов заводить свой тип чисел?
Или всё же лучше сделать библиотеку, хранить данные в чём-то типа
struct ApproxVal
{
double value;
double delta;
}
перегрузить для них всю арифметику правильным образом и выбрасывать exeption'ы при катастрофической потере точности? Последнее, кстати, для таких чиселок — одна из основных проблем.
(1000+-3) — (995+-5) — это уже полная лажа, а не число. Даже знак его не ясен.
D>>Слава богу, что таких чиселок, которые автор предлагает нет! А то программисты с их помощью напрограммируют...
ХД>Что значит "таких чиселок нет"? Есть, и их можно использовать в соответствующих задачах. ХД>Конечно, есть свои ограничения (как и у каждого способа), и о них говорится в статье.
Ну я и предлагаю их в виде библиотек реализовывать. Стандартов на много чего нет. На неограниченные целые, например, нет. Что не мешает им в Хаскелле присутствовать. И на даты, вроде, нет. Всё-таки стандарты делаются на базовые представления информации в компьютере. И интов с флоатами разной степени точности, ИМХО, вполне достаточно. А для численной обработки результатов измерений имеются профессиональные пакеты.
Здравствуйте, deniok, Вы писали:
D>>>Доверительная вероятность, доверительный интервал — такие слова что-нибудь говорят? ХД>>Это один из способов представления результатов измерений. Но можно и другие способы использовать, в частности — интервальный. D>Можно. И на каждый из используемых способов заводить свой тип чисел?
Я об этом и не говорил.
D>Или всё же лучше сделать библиотеку, хранить данные в чём-то типа... D>перегрузить для них всю арифметику правильным образом и выбрасывать exeption'ы при катастрофической потере точности? Последнее, кстати, для таких чиселок — одна из основных проблем.
Так и делают.
D>(1000+-3) — (995+-5) — это уже полная лажа, а не число. Даже знак его не ясен.
Ну, это всего лишь (5+-8) или [-3; 13], а непонятки со знаком — совершенно естественны. Каковы исходные данные, таков и результат.
D>>>Слава богу, что таких чиселок, которые автор предлагает нет! А то программисты с их помощью напрограммируют... ХД>>Что значит "таких чиселок нет"? Есть, и их можно использовать в соответствующих задачах. D>Ну я и предлагаю их в виде библиотек реализовывать. Стандартов на много чего нет...
Я не говорю про статью. Меня в твоих словах смутили не стандарты, а нападки на интервальные "чиселки".
Интервальные вычисления сейчас так и реализуются на уровне библиотек, причём эти реализации зачастую могут быть разными — кто-то использует представление (X+-dX), кто-то (Xmin, Xmax), соответственно, могут по-разному определяться арифметические операции...
К тому же, интервальные вычисления — очень затратная штука и поэтому хорошо бы её поближе к железу сделать. Возможно, поэтому от них отказались во времена слабых машин. Сейчас большой объём вычислений уже представляет меньшую проблему и вычисления с учётом погрешностей имеют шанс получить вторую жизнь.
Ну а для этого очень были бы полезны стандарты, ведь интервальные вычисления — сильно практическая вещь.
D>А для численной обработки результатов измерений имеются профессиональные пакеты.
Такие числа, кстати, нужны после обработки результатов
Здравствуйте, Хитрик Денис, Вы писали:
D>>Или всё же лучше сделать библиотеку, хранить данные в чём-то типа... D>>перегрузить для них всю арифметику правильным образом и выбрасывать exeption'ы при катастрофической потере точности? Последнее, кстати, для таких чиселок — одна из основных проблем.
ХД>Так и делают.
D>>(1000+-3) — (995+-5) — это уже полная лажа, а не число. Даже знак его не ясен.
ХД>Ну, это всего лишь (5+-8) или [-3; 13], а непонятки со знаком — совершенно естественны. Каковы исходные данные, таков и результат.
Ну, в делении они уже участвовать не могут, поскольку теряют интервальное представление:
1/(5+-1)=[1/6; 1/4] — ok, хотя и произошло смещение образа середины интервала
1/(5+-8)=[-inf; -1/3] union [1/13; +inf] — упс!
D>>>>Слава богу, что таких чиселок, которые автор предлагает нет! А то программисты с их помощью напрограммируют... ХД>>>Что значит "таких чиселок нет"? Есть, и их можно использовать в соответствующих задачах. D>>Ну я и предлагаю их в виде библиотек реализовывать. Стандартов на много чего нет...
ХД>Я не говорю про статью. Меня в твоих словах смутили не стандарты, а нападки на интервальные "чиселки".
Я, собственно, нападал, поскольку это существенно более сложные, чем числа, объекты.
ХД>Интервальные вычисления сейчас так и реализуются на уровне библиотек, причём эти реализации зачастую могут быть разными — кто-то использует представление (X+-dX), кто-то (Xmin, Xmax), соответственно, могут по-разному определяться арифметические операции... ХД>К тому же, интервальные вычисления — очень затратная штука и поэтому хорошо бы её поближе к железу сделать. Возможно, поэтому от них отказались во времена слабых машин. Сейчас большой объём вычислений уже представляет меньшую проблему и вычисления с учётом погрешностей имеют шанс получить вторую жизнь. ХД>Ну а для этого очень были бы полезны стандарты, ведь интервальные вычисления — сильно практическая вещь.
D>>А для численной обработки результатов измерений имеются профессиональные пакеты.
ХД>Такие числа, кстати, нужны после обработки результатов
Если мы хотим их для дальнейших вычислений использовать, то правильнее, имхо, тащить их (результаты) как raw data, а не в виде агрегированных значений (интервалов). Потому, что интервал [3; 5] полученный на основе 3х измерений и интервал [3; 5] полученый на основе 1000 измерений — это далеко не одно и то же — мы опять приходим к тому, что существенная информация теряется (раньше — о погрешности и о надёжности, теперь — о надёжности).
Здравствуйте, deniok, Вы писали:
D>>>(1000+-3) — (995+-5) — это уже полная лажа, а не число. Даже знак его не ясен. ХД>>Ну, это всего лишь (5+-8) или [-3; 13], а непонятки со знаком — совершенно естественны. Каковы исходные данные, таков и результат. D>Ну, в делении они уже участвовать не могут, поскольку теряют интервальное представление:
Да, это проблема. К счастью, такие случаи не повсеместны и есть вычисления, в которых деления не нужно и тогда ура!
ХД>>Я не говорю про статью. Меня в твоих словах смутили не стандарты, а нападки на интервальные "чиселки". D>Я, собственно, нападал, поскольку это существенно более сложные, чем числа, объекты.
И что из того?
D>Если мы хотим их для дальнейших вычислений использовать, то правильнее, имхо, тащить их (результаты) как raw data, а не в виде агрегированных значений (интервалов). Потому, что интервал [3; 5] полученный на основе 3х измерений и интервал [3; 5] полученый на основе 1000 измерений — это далеко не одно и то же — мы опять приходим к тому, что существенная информация теряется (раньше — о погрешности и о надёжности, теперь — о надёжности).
3 измерения или 3000 — какая разница? Это ведь определяет используемый подход. Если измеряя размер бруска я получаю значения от 3см до 4см, значит интервал — [3;4] безотносительно статистики, согласно которой длина может принять значение в 1км, но очень редко (у нас же Гаусс, да?). И как с этим 1км работать?
Вот ты сказал "надёжность"... Высказывание: длина бруска принимает значение 3см+-1см с надёжностью 95%. Это как понимать? Может быть 3см, может быть 4см, а может быть и 30см, но с очень маленькой вероятностью? Хорошо. А как с этим работать?
Для таких величин предпочтительнее использовать именно интервальное представление, а не статистику — оно точнее отражает суть.
Насколько я понимаю, в большинстве расчётов, проводимых в настоящее время, имеют дело только с одной величиной — со средним. И погрешности результатов считают отдельно, либо выводя аналитические формулы, что сложно и редко когда возможно, либо пользуясь методами теории возмущений (фактически рассматривая только первую производную и, соответственно, линейные возмущения). И там, из всего доверительного интервала берётся среднее для основного расчёта и отклонение от среднего для _оценки_ погрешности.
В отличие от такого подхода, интервальные вычисления позволяют учитывать погрешности явным образом и с меньшими интеллектуальными затратами на вывод аналитических формул.
D>>Если мы хотим их для дальнейших вычислений использовать, то правильнее, имхо, тащить их (результаты) как raw data, а не в виде агрегированных значений (интервалов). Потому, что интервал [3; 5] полученный на основе 3х измерений и интервал [3; 5] полученый на основе 1000 измерений — это далеко не одно и то же — мы опять приходим к тому, что существенная информация теряется (раньше — о погрешности и о надёжности, теперь — о надёжности).
ХД>3 измерения или 3000 — какая разница? Это ведь определяет используемый подход. Если измеряя размер бруска я получаю значения от 3см до 4см, значит интервал — [3;4] безотносительно статистики, согласно которой длина может принять значение в 1км, но очень редко (у нас же Гаусс, да?). И как с этим 1км работать?
ХД>Вот ты сказал "надёжность"... Высказывание: длина бруска принимает значение 3см+-1см с надёжностью 95%. Это как понимать? Может быть 3см, может быть 4см, а может быть и 30см, но с очень маленькой вероятностью? Хорошо. А как с этим работать? ХД>Для таких величин предпочтительнее использовать именно интервальное представление, а не статистику — оно точнее отражает суть.
А так и работать. Либо измеряльщик был в конец пьян, либо это неформатные бруски, которые могут принимать разные значения, и тогда вопросы про них могут быть такие: какую долю брусков я смогу упаковать в коробки размером 4 см.? Что тебе даст твоя интервальная оценка? Если верна гипотеза о Гауссовом распределении, и если ты зашил в интервал именно среднеквадратическое отклонение, то ответить можно.
ХД>Насколько я понимаю, в большинстве расчётов, проводимых в настоящее время, имеют дело только с одной величиной — со средним. И погрешности результатов считают отдельно, либо выводя аналитические формулы, что сложно и редко когда возможно, либо пользуясь методами теории возмущений (фактически рассматривая только первую производную и, соответственно, линейные возмущения). И там, из всего доверительного интервала берётся среднее для основного расчёта и отклонение от среднего для _оценки_ погрешности. ХД>В отличие от такого подхода, интервальные вычисления позволяют учитывать погрешности явным образом и с меньшими интеллектуальными затратами на вывод аналитических формул.
Эээ. В современном мире измеряют в основном не бруски, а, скажем, продажи. Вот продалось у тебя сегодня 5 вагонов с песком, а вчера 3. Ну, наивный подход, описать это интервалом [3;5] (Не наивный — посчитать дисперсию и записать 4+-sqrt(D), а совсем не наивный — учесть, что дисперсия выборки — смещённая оценка дисперсии генеральной совокупности и поправить D соответственно ). Но даже если в результате подобных действий над двумя, тремя, четырьмя днями продаж у тебя получилось [3; 5], доверия к этому интервалу меньше, чем к [3; 5], полученному по результатам ежедневных продаж за последний, скажем, год. О чём я собственно и говорил в прошлом посте.
ХД>>Вот ты сказал "надёжность"... Высказывание: длина бруска принимает значение 3см+-1см с надёжностью 95%. Это как понимать? Может быть 3см, может быть 4см, а может быть и 30см, но с очень маленькой вероятностью? Хорошо. А как с этим работать? D>А так и работать. Либо измеряльщик был в конец пьян, либо это неформатные бруски, которые могут принимать разные значения, и тогда вопросы про них могут быть такие: какую долю брусков я смогу упаковать в коробки размером 4 см.?
Всё правильно Ты ставишь задачи именно такие, для которых был разработан аппарат статистики. Обрати внимание, я говорил про один брусок, а ты в объяснении перешёл на множество брусков. А интервальные вычисления используются, когда человек считает, что известны границы для конкретной величины — в нашем случае это длина конкретного бруска. Длина конкретного бруска не может принимать произвольное значение пусть даже с малой вероятностью! Это не естественный способ мыслить.
Естественный — брусок не меньше чем Асм, но не больше, чем Всм.
Задачка: Имеем 10 конкретных киричей. Каждый из них имеет высоту 10см+-1. Какой может быть высота стенки, построенная из этих конкретных кирпичей? На этот вопрос бессмысленно отвечать "с вероятностью", здесь лучше иметь точный ответ: [90; 110].
Вообще, вероятность связана со множетством испытаний. Что в такой задаче испытывать? Измерять высоту стенки несколько раз, перекладывая эти 10 кирпичей?
D>Что тебе даст твоя интервальная оценка? Если верна гипотеза о Гауссовом распределении, и если ты зашил в интервал именно среднеквадратическое отклонение, то ответить можно.
Интервальные вычисления — принципиально не имеют дела со статистическими характеристиками. Интервал даёт ответ на два вопроса: значение больше А, но меньше В. Это можно сравнить с равномерным распределением внутри интервала, но разве что сравнить — схемы статистики не используются в работе.
Ещё момент. Даже если у нас исходное распределение величины гауссово, то как только мы эту величину вставляем в какую-нибудь более-менее сложную функцию, мы уже не можем говорить о распределении результата — оно может иметь слишком сложное распределение, которое мы не в состоянии будем описать. И, насколько я понимаю, в таких ситуациях результату обычно приписывают то же самое гауссовское или какое другое привычное распределение. Это работает до каких-то пор, но это уже произвол со стороны исследователя.
D>Эээ. В современном мире измеряют в основном не бруски, а, скажем, продажи. Вот продалось у тебя сегодня 5 вагонов с песком, а вчера 3. Ну, наивный подход, описать это интервалом [3;5] (Не наивный — посчитать дисперсию и записать 4+-sqrt(D), а совсем не наивный — учесть, что дисперсия выборки — смещённая оценка дисперсии генеральной совокупности и поправить D соответственно ). Но даже если в результате подобных действий над двумя, тремя, четырьмя днями продаж у тебя получилось [3; 5], доверия к этому интервалу меньше, чем к [3; 5], полученному по результатам ежедневных продаж за последний, скажем, год. О чём я собственно и говорил в прошлом посте.
Да, я понял. Здесь всё дело в исследователе, по-моему. В твоей задаче можно пользоваться статистикой, в какой-то другой — нельзя. Но как только у нас возникают более-менее сложные функциональные зависимости от случайной величины, тут же все функции распределения идут по боку и считается, что величина не выходит за определённый интервал вообще и какое там у неё распределение все забывают на время расчёта. Вот интервальные вычисления — они как раз для этого времени и нужны.
ХД>Да, я понял. Здесь всё дело в исследователе, по-моему. В твоей задаче можно пользоваться статистикой, в какой-то другой — нельзя. Но как только у нас возникают более-менее сложные функциональные зависимости от случайной величины, тут же все функции распределения идут по боку и считается, что величина не выходит за определённый интервал вообще и какое там у неё распределение все забывают на время расчёта. Вот интервальные вычисления — они как раз для этого времени и нужны.
Да везде, где есть существенные для дела "погрешности" можно и нужно пользоваться статистикой. Ладно бы мы "вручную" считали, как в начале прошлого века.
Мне не кажется, что стоит стандартизировать инструмент, базирующийся на не очень корректном с математической точки зрения "забивании".
Здравствуйте, deniok, Вы писали:
D>Да везде, где есть существенные для дела "погрешности" можно и нужно пользоваться статистикой. Ладно бы мы "вручную" считали, как в начале прошлого века.
Неверно. Пример задачи с погрешностями, в которой статистика не нужна я привёл. От интервальных вычислений отказывались, в основном, потому, что считали вручную!