Образец для создания равномерного распределения из неоднородных данных

Учитывая набор данных с неравномерным распределением (высоким пиком), я хочу выполнить повторную выборку, чтобы создать новый набор данных с приблизительно однородным распределением. Мой подход:

  1. Разделите данные на бины.
  2. Целевой уровень ячейки = наименьшее количество выборок в ячейке среди всех ячеек.
  3. Случайным образом удаляйте образцы до тех пор, пока количество каждого бина не будет равно целевому уровню бина.

Есть ли лучшая техника?


person Ron Cohen    schedule 29.08.2017    source источник


Ответы (1)


Мы знаем, что для равномерного распределения имеем

среднее значение = (а+б)/2

дисперсия = (б-а)^2/12

Таким образом, вы можете просто построить их и выполнить выборку из равномерного распределения с этими параметрами, где вы либо установите a = min (данные) и b = max (данные), либо, возможно, a = среднее (самый низкий_бин) и b = средний (самый высокий_бин) или что-то в этом роде. как это. То, как вы хотите установить a и b, зависит от ваших данных и того, чего вы хотите достичь.

person digestivee    schedule 29.08.2017
comment
Для простоты предположим, что мои данные имеют среднее значение = 0 и колеблются от -1 до +1. Похоже, вы говорите выбирать случайные выборки из равномерного распределения от -1 до +1. Но такие образцы не соответствуют образцам в моих данных. Вы предлагаете выбрать случайные выборки из равномерного распределения, а затем выбрать выборки из моих данных, наиболее близкие к значениям, извлеченным из равномерного распределения? - person Ron Cohen; 29.08.2017
comment
Хм, если вы все еще хотите, чтобы исходные данные были сэмплированы, то, вероятно, лучше сделать то, что вы сделали. Давайте представим, что у вас есть 3 бина. Первый содержит 1 элемент, второй содержит 2 элемента и третий содержит 3 элемента. Затем я бы удостоверился, что вероятность каждой корзины равна 1/3, поэтому элемент в ячейке 1 имеет P = 1/3, два предмета в ячейке 2 имеют P = 1/6 (так что вместе они имеют 1/3), а предметы в bin3 есть P = 1/9. Таким образом, вам не нужно удалять точки данных, вы просто взвешиваете их, чтобы мы выбирали элемент из каждой корзины с одинаковой вероятностью, которая должна давать примерно равномерное распределение. - person digestivee; 30.08.2017
comment
Этот ответ, похоже, на самом деле не касается вопроса. Почему он был выбран? - person Joshua Dempster; 18.06.2020