В целях обучения мне нужно создать случайные наборы данных коррелированных случайных величин с разными распределениями. Я пробовал corr2data
в Stata, но он не позволит мне указывать значения max и min переменных, которые должны быть сгенерированы, просто означает, sd и ковариационную матрицу. Поэтому после генерации данных мне нужно сделать грязные корректировки. Различные другие детали раздражают меня corr2data
. Есть ли более простой способ сделать это с MATLAB? Я не так хорошо знаком с этим программным обеспечением, как с Stata.как создать набор данных коррелированных переменных с разными распределениями?
2
A
ответ
2
Если у вас есть доступ к Statistics Toolbox, а также MATLAB, вы можете использовать функциональность связки, чтобы сделать это довольно легко. Используя связку, вы можете указать предельные распределения каждой переменной и структуру корреляции между переменными.
Затем вы можете генерировать случайные числа из копулы, подгонять ее к данным и т. Д.
См в документации MATLAB:
Принимала вы посмотрите на многомерное нормальное распределение? – Daniel
Что вы подразумеваете под «разными дистрибутивами»? Все нормальные, но только разные параметры? Или действительно разные: обычные и чи-квадратные и равномерные и т. Д. Последнее может быть довольно сложно, потому что нет стандартного способа параметризировать корреляцию между ними в первую очередь. –