|
|
|
Оценить равномерность данных
|
|||
|---|---|---|---|
|
#18+
Представим, что у нас есть массив из 1000 int'ов, пока там нули. Далее заполняем его разными способами (для простоты - только единицами). Задача - оценить равномерность заполнения. Случай 1. Заполняем единицами с фиксированным шагом, например, 10 нулей - единица - 10 нулей - .... Очевидно, что это самый равномерный вариант. Если пройтись по массиву, считая длины "пустот" - они будут все одинаковы. Дисперсия этой выборки будет равна нулю. Случай 2: используя рэндом, записываем 20 единиц в массив (на случайные позиции). Считаем дисперсию аналогичным образом. Случай 3: все то же самое, только вставка 50 единиц. Так вот, дисперсия в п.3 будет БОЛЬШЕ, чем в п.2. Вопрос: какая статистическая мера, какой алгоритм позволяет оценивать равномерность заполнения без привязки к абсолютному количеству элементов? Ведь рэндом в п.2 и п.3 работает по одному и тому же вероятностному закону, степень "неравномерности" должна быть одинаковая. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2012, 23:01 |
|
||
|
Оценить равномерность данных
|
|||
|---|---|---|---|
|
#18+
Вы дисперсию как считаете (и что вообще подразумеваете в приложении к данному множеству)? По значениям или по размеру промежутков? В любом случае, TopSpaceСлучай 1. ... Дисперсия этой выборки будет равна нулю.Неверно априори. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2012, 01:56 |
|
||
|
Оценить равномерность данных
|
|||
|---|---|---|---|
|
#18+
AndreTM, смотрите, нужно оценить регулярность (равномерность) заполнения. Да, берем длины промежутков (количество нулей от одной единицы до следующей). В первом случае все промежутки одинаковые - дисперсия нулевая. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2012, 07:33 |
|
||
|
Оценить равномерность данных
|
|||
|---|---|---|---|
|
#18+
TopSpaceСлучай 2: используя рэндом, записываем 20 единиц в массив (на случайные позиции). Считаем дисперсию аналогичным образом. Случай 3: все то же самое, только вставка 50 единиц. Так вот, дисперсия в п.3 будет БОЛЬШЕ, чем в п.2. Это очень странно: Пусть у нас есть случ. величина X с дисперсией D, какова будет дисперсия случ. величины X/2? Как Вы считали дисперсию? Какова у Вас дисперсия, если в данном примере поставить 1000 единиц? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2012, 18:18 |
|
||
|
Оценить равномерность данных
|
|||
|---|---|---|---|
|
#18+
TopSpaceберем длины промежутков (количество нулей от одной единицы до следующей). В первом случае все промежутки одинаковые - дисперсия нулевая.Тогда да, действительно, если вы оперируете множеством , состоящим из 91 значения, равных 10 (или 11). Но тогда неясно, к чему вообще нужен "...массив из 1000 int'ов, пока там нули..."? Вы просто путаете теплое с мягким, и путаете нас... Ведь в последующих случаях вы "разбиваете отрезок длиной в 1000 на множество из 21 (31) отрезка с длинами от 0 до 1000". Дисперсии получаемых выборок каким боком должны коррелировать между собой? Вот если бы вы разбивали исходный отрезок на k+1 отрезков длины от 0 до 1000/k (k=20,30,..) - то еще можно было бы говорить о корреляции диспесии... TopSpaceВопрос: какая статистическая мера, какой алгоритм позволяет оценивать равномерность заполнения без привязки к абсолютному количеству элементов?А вот отсюда - поподробнее. С физическим смыслом. Приведите пример того, с чем вы работаете - и на основании каких данных желаете оценить "равномерность заполнения". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2012, 19:52 |
|
||
|
Оценить равномерность данных
|
|||
|---|---|---|---|
|
#18+
AndreTMTopSpaceВопрос: какая статистическая мера, какой алгоритм позволяет оценивать равномерность заполнения без привязки к абсолютному количеству элементов?А вот отсюда - поподробнее. С физическим смыслом. Приведите пример того, с чем вы работаете - и на основании каких данных желаете оценить "равномерность заполнения". Я думаю это клон Базиста пытается найти очередной оптимальный алгоритм сжатия для технологий наносекундного поиска в спакованных данных. Баз, я угадал ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2012, 20:48 |
|
||
|
Оценить равномерность данных
|
|||
|---|---|---|---|
|
#18+
10930610 Предистория , если чЁ :) зы Если ТС не Базист то всервно полезно будет топик почитать +- 5 страниц вышеуказанного поста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2012, 20:55 |
|
||
|
Оценить равномерность данных
|
|||
|---|---|---|---|
|
#18+
Думаю, будет проще, если посмотреть код. Набросал небольшой кусочек реализации (так-то я использую AForge): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2012, 21:16 |
|
||
|
Оценить равномерность данных
|
|||
|---|---|---|---|
|
#18+
К обозначенному Базисту я отношения не имею) Алгоритм нужен в исследовательских целях, для анализа случайного сигнала с датчика, одна из задач - оценивать "степень упорядоченности". Ну скажем так, условно: когда сигнал представляет собой чередование значений с одинаковыми промежутками (т.е. он регулярен, имеет период) - это "упорядоченность", когда заполнение подчиняется закону равномерного распределения - он "случаен". Вот и возникла мысль использовать матстат, и дисперсию выборки промежутков в частности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2012, 21:31 |
|
||
|
Оценить равномерность данных
|
|||
|---|---|---|---|
|
#18+
Про что я и говорил: TopSpace... const int SZ = 10000; ... data2[rand() % SZ ] = 1; ... Вы заполняете множество отрезками [0;SZ), а анализируете затем отсортированный массив разностей длин... Вы же используете два совершенно разных подхода при заполнении в первом случае - и в других. Было бы правильнее: Код: sql 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2012, 21:45 |
|
||
|
Оценить равномерность данных
|
|||
|---|---|---|---|
|
#18+
AndreTM, ну как минимум [n + rand() % 50] здесь даст выход за границы массива. Но речь о другом. Я и не утверждаю, что 1-й и два прочих способа заполнения одинаковы. Они разные, причем случаи 2 и 3 отличаются только "плотностью данных", а вероятностный закон, по которому идет заполнение - одинаковый. И задача найти количественную меру, некий коэффициент равномерности. Т.е. в случае один он будет равен 0, а в случае 2 и 3 - какому-то числу, не важно какому, но ОДНОМУ И ТОМУ ЖЕ. Это позволит сказать (я утрирую, чтобы было проще): ага, в первом случае сигнал явно не случаен, у него есть период, он строго упорядочен. А вот второй и третий - случайные, и мера этой случайности одинакова. Ну и дальше, если мы создадим еще 4-й сигнал, где заполнение будет идти тоже не равновероятно по всему массиву (как в с.2 и с.3), а в окрестностях точек, следующих с фиксированным шагом, мы получим что-то среднее между с.1 и с.2-3 (коэффициент должен это показать). Могу для упрощения понимания привести следующую физическую иллюстрации, где бы это могло еще применяться. Анализ структуры вещества. В случае кристаллической решетки атомы стремятся занять определенные позиции, у решетки есть фиксированный шаг. У аморфных веществ положения атомов не имеет такой периодичности. Что мы делаем? Формируем выборку расстояний между атомами (условно), и анализируем ее. Все значения одинаковы - очевидна структура. Разные - смотрим разброс. Коэффициент этого разброса должен не зависеть от плотности вещества (т.е. мера должна быть относительной). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2012, 22:21 |
|
||
|
Оценить равномерность данных
|
|||
|---|---|---|---|
|
#18+
TopSpaceну как минимум [n + rand() % 50] здесь даст выход за границы массива.Покажите значение n, при котором такое произойдёт... Хотя речь действительно не об этом. Я просто пытаюсь вам сказать, что вы выбрали не совсем удачную модель реализации вашей задачи. Вы, по сути, рисуете в массиве "плотность" распределения исследуемой величины, но не учитываете количество самих значений. Например, если из 200 "значений" 198 придутся на индекс 500, одно - на индекс 400, и одно - на индекс 700 (всего индексов - 1000), то, по вашей логике, будут исследованы четыре промежутка - 400, 100, 200, 300... и какое отношение эти промежутки имеют к тому, что "значения" как раз вполне себе "равномерны", со средним значением около 500 и с достаточно малой дисперсией всей выборки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2012, 00:50 |
|
||
|
Оценить равномерность данных
|
|||
|---|---|---|---|
|
#18+
TopSpaceAndreTM, ну как минимум [n + rand() % 50] здесь даст выход за границы массива. Но речь о другом. Я и не утверждаю, что 1-й и два прочих способа заполнения одинаковы. Они разные, причем случаи 2 и 3 отличаются только "плотностью данных", а вероятностный закон, по которому идет заполнение - одинаковый . И задача найти количественную меру, некий коэффициент равномерности. Т.е. в случае один он будет равен 0, а в случае 2 и 3 - какому-то числу, не важно какому, но ОДНОМУ И ТОМУ ЖЕ. Это позволит сказать (я утрирую, чтобы было проще): ага, в первом случае сигнал явно не случаен, у него есть период, он строго упорядочен . А вот второй и третий - случайные, и мера этой случайности одинакова. Ну и дальше, если мы создадим еще 4-й сигнал, где заполнение будет идти тоже не равновероятно по всему массиву (как в с.2 и с.3), а в окрестностях точек, следующих с фиксированным шагом, мы получим что-то среднее между с.1 и с.2-3 (коэффициент должен это показать). Могу для упрощения понимания привести следующую физическую иллюстрации, где бы это могло еще применяться. Анализ структуры вещества. В случае кристаллической решетки атомы стремятся занять определенные позиции, у решетки есть фиксированный шаг . У аморфных веществ положения атомов не имеет такой периодичности. Что мы делаем? Формируем выборку расстояний между атомами (условно), и анализируем ее. Все значения одинаковы - очевидна структура. Разные - смотрим разброс. Коэффициент этого разброса должен не зависеть от плотности вещества (т.е. мера должна быть относительной). Ты тут через слово о периоде говоришь, а как он у тебя вычисляется не совсем совсем не ясно . Диференцировать тебе нужно , если более точно искать изменения знака производной. Точки изменения знака - будет твой период. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2012, 01:51 |
|
||
|
Оценить равномерность данных
|
|||
|---|---|---|---|
|
#18+
Попробуй загнать синусоиду 1 полный период и 100500 периодов , Твои формулы будутдавать тебе приблизительно одно и тоже значение ~ макс/ квадратный корень из двух. Знаешь что это ? Это площадь ограниченная твоей синусоидой , от периода зависеть не будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2012, 02:13 |
|
||
|
Оценить равномерность данных
|
|||
|---|---|---|---|
|
#18+
AndreTMПокажите значение n, при котором такое произойдёт... Хотя речь действительно не об этом. Сорри, не выспался) Такое действительно не произойдет, только если не сделать SZ меньше 50. AndreTMНапример, если из 200 "значений" 198 придутся на индекс 500, Такого быть не может. Давайте нарисуем образ: перед Вами лежит 100 тарелок, у вас есть 10 пирожков, в одну тарелку положить 2 (и более) пирожка нельзя. Можем разложить пирожки с фиксированным шагом (кладем, пропускаем 9 тарелок, кладем,...). Делаем выборку промежутков - они одинаковы, дисперсия ноль. Распределение пирожков абсолютно регулярно (жестко заданный шаг). Другой вариант - раскладываем пирожки абсолютно случайно, где-то пирожки будут лежать на соседних тарелках, где-то будет пропуск в 15 тарелок... Размещение пирожков подчиняется какому-то вероятностному закону (скажем, равномерная вероятность). И вот самое интересное: используя тот же "генератор случайности" мы раскладываем не 10, а 15 пирожков. Задача найти такой алгоритм, который на втором и третьем распределении пирожков даст одно и то же число. Дисперсия тут не работает. Может нужно брать коэффициент вариации (дисперсия деленная на среднее значение). Может еще что-то. AndreTMВы, по сути, рисуете в массиве "плотность" распределения исследуемой величины, но не учитываете количество самих значений. В этом и состоит задача: уйти от зависимости коэффициента "равномерности заполнения" от количества значений. Смотрите: Код: plaintext 1. 2. 3. 4. 5. Эти сигналы имеют идентичную структуру заполнения! 4 промежутка, два из которых в 2 раза больше двух других. Изобразить условно это можно так: **x**x*x* за * может скрываться хоть 2, хоть 1000 значений - это не должно влиять. Дисперсия "промежутков" тут получается разная. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2012, 08:19 |
|
||
|
Оценить равномерность данных
|
|||
|---|---|---|---|
|
#18+
ДохтаР, синусоида это гармонический сигнал, а речь идет об анализе случайных. Да, может быть спектральный анализ - помог бы. Если построить спектр сигнала, где значения на фоне нулей идут с неким шагом - увидим sinc(x) (сигнал ведь по сути представляет собой меандр с некоторой скважностью). Если построить спектр шума - увидим прямую линию (гармоники на всех частотах в пределах половины частоты дискретизации). Но это спектр, а нужно одно число:) Коэффициент. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2012, 08:28 |
|
||
|
Оценить равномерность данных
|
|||
|---|---|---|---|
|
#18+
TopSpaceДохтаР, синусоида это гармонический сигнал, а речь идет об анализе случайных. Да, может быть спектральный анализ - помог бы. Если построить спектр сигнала, где значения на фоне нулей идут с неким шагом - увидим sinc(x) (сигнал ведь по сути представляет собой меандр с некоторой скважностью). Если построить спектр шума - увидим прямую линию (гармоники на всех частотах в пределах половины частоты дискретизации). Но это спектр, а нужно одно число:) Коэффициент. Для гармоничного сигнала частота будет твоим числом. А для случайного ты получишь среднюю температуру по больнице, приблизительно одинаковую для всех больниц, и в основном зависящую от количества занятых мест в холодильнике в морга :). Оно ли тебе нужно ? Почему ты за него вцепился ? ( риторический вопрос) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2012, 11:12 |
|
||
|
Оценить равномерность данных
|
|||
|---|---|---|---|
|
#18+
В целом, я так и не увидел внятного обоснования, зачем ТС нужно распределять и анализировать именно так, как он делает... Никакого прикладного смысла в задаче, а автор еще и сам себе противоречит: то " в одну тарелку положить 2 (и более) пирожка нельзя " , то data2[rand() % SZ] = 1 (а кто сказал, что одно и то же "случайное" число не выпадет несколько раз?) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2012, 14:01 |
|
||
|
Оценить равномерность данных
|
|||
|---|---|---|---|
|
#18+
а я бы все-таки использовал спектральное разложение. если нужно одно число, то это отношение амплитуды основной гармоники к сумме всех амплитуд. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2012, 14:43 |
|
||
|
Оценить равномерность данных
|
|||
|---|---|---|---|
|
#18+
AndreTM data2[rand() % SZ] = 1 (а кто сказал, что одно и то же "случайное" число не выпадет несколько раз?) Запросто) Если из 50 значений 10 попадут в те ячейки, которые уже заняты - мы получим случайное распределение 40, а не 50 значений. Особо это ничего не меняет, это ж наколеночный пример. AndreTM зачем ТС нужно распределять и анализировать именно так, как он делает... Да не обязательно именно так) Как угодно, главное - получить результат. Обозначу задачу еще более конкретно: представим датчик, выдающий случайный сигнал - мы его записываем. Потом мы влияем на датчик таким образом, что характер генерации случайного сигнала меняется. Понимаю, что математически так говорить не грамотно, но фактически сигнал становится "менее случайным". Как крайний вариант, он вообще перестает быть случайным, и становится строго периодичным. Задача сравнить 2 эти сигнала, и выявить, произошли ли изменения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2012, 14:45 |
|
||
|
Оценить равномерность данных
|
|||
|---|---|---|---|
|
#18+
f2fесли нужно одно число, то это отношение амплитуды основной гармоники к сумме всех амплитуд. Интересно. А что стоит за этим отношением (физический, математический смысл) ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2012, 14:46 |
|
||
|
Оценить равномерность данных
|
|||
|---|---|---|---|
|
#18+
TopSpaceДа не обязательно именно так) Как угодно, главное - получить результат. Обозначу задачу еще более конкретно: представим датчик, выдающий случайный сигнал - мы его записываем. Потом мы влияем на датчик таким образом, что характер генерации случайного сигнала меняется. Понимаю, что математически так говорить не грамотно, но фактически сигнал становится "менее случайным". Как крайний вариант, он вообще перестает быть случайным, и становится строго периодичным. Задача сравнить 2 эти сигнала, и выявить, произошли ли изменения. Так в чем проблема , ловишь точку изменения знака производной ( переход последовательности из возрастающей в убывающую и наоборот) сравниваешь растояния между этими точками по оси времени. Чем меньше разница растояний , тем выше вероятность, что закон переодический. Мало первой производной , заворачиваем вышесказанное в рекурсию получаем производную N порядка на глубину рекурсии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2012, 16:28 |
|
||
|
Оценить равномерность данных
|
|||
|---|---|---|---|
|
#18+
TopSpacef2fесли нужно одно число, то это отношение амплитуды основной гармоники к сумме всех амплитуд. Интересно. А что стоит за этим отношением (физический, математический смысл) ? Физический - КПД авторНесинусоидальность — вид нелинейных искажений напряжения в электрической сети, который связан с появлением в составе напряжения гармоник с частотами, многократно превышающими основную частоту сети. Высшие гармоники напряжения оказывают отрицательное влияние на работу системы электроснабжения, вызывая дополнительные активные потери в трансформаторах, электрических машинах и сетях; повышенную аварийность в кабельных сетях; уменьшение коэффициента мощности за счёт мощности искажения, вызванной протеканием токов высших гармоник; а также ограниченное применение батарей конденсаторов для компенсации реактивной мощности. Источниками высших гармоник тока и напряжения являются электроприёмники с нелинейными нагрузками. Например, мощные выпрямители переменного тока, применяемые в металлургической промышленности и на железнодорожном транспорте, газоразрядные лампы и др. Математический - разница площадей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2012, 17:32 |
|
||
|
Оценить равномерность данных
|
|||
|---|---|---|---|
|
#18+
TopSpaceАлгоритм нужен в исследовательских целях, для анализа случайного сигнала с датчика, одна из задач - оценивать "степень упорядоченности". Ну скажем так, условно: когда сигнал представляет собой чередование значений с одинаковыми промежутками (т.е. он регулярен, имеет период) - это "упорядоченность", когда заполнение подчиняется закону равномерного распределения - он "случаен". Вот и возникла мысль использовать матстат, и дисперсию выборки промежутков в частности. А попробуйте построить график с накоплением и аппроксимировать его прямой. И наклон этой прямой, и нулевой отрезок, и среднее отклонение в принципе могут характеризовать и сам процесс, и его "равномерность"... если же процесс имеет некий физический смысл, то угол наклона или отрезок могут иметь некое предопределённое (фиксированное либо дискретизованное) значение (например отрезок должен быть нулевым)... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2012, 17:50 |
|
||
|
Оценить равномерность данных
|
|||
|---|---|---|---|
|
#18+
TopSpaceAndreTM data2[rand() % SZ] = 1 (а кто сказал, что одно и то же "случайное" число не выпадет несколько раз?) Запросто) Если из 50 значений 10 попадут в те ячейки, которые уже заняты - мы получим случайное распределение 40, а не 50 значений. Особо это ничего не меняет, это ж наколеночный пример. AndreTM зачем ТС нужно распределять и анализировать именно так, как он делает... Да не обязательно именно так) Как угодно, главное - получить результат. Обозначу задачу еще более конкретно: представим датчик, выдающий случайный сигнал - мы его записываем. Потом мы влияем на датчик таким образом, что характер генерации случайного сигнала меняется. Понимаю, что математически так говорить не грамотно, но фактически сигнал становится "менее случайным". Как крайний вариант, он вообще перестает быть случайным, и становится строго периодичным . Задача сравнить 2 эти сигнала, и выявить, произошли ли изменения.Если выделенное верно, то имеем комбинацию белого шума и чистого тона, и Вам нужно разложение сигнала по Фурье; учтите, что следует разделять случай "частота тона известна" и "частота тона неизвестна", во втором варианте следует как следует осознать, как именно выглядит разложение по Фурье "чистого" белого шума. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2012, 18:21 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=38027104&tid=1342057]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
179ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 245ms |
| total: | 506ms |

| 0 / 0 |
