2016-02-21 1 views
0

Я хотел бы знать, как я могу генерировать данные, отличные от OUTLIER, используя R. Я генерирую данные с использованием RNORM.Как генерировать данные без вывода данных в R?

Скажем, у меня есть линейное уравнение

Y = B0 + B1*X + E,  where X~N(5,9) and E~N(0,1). 

Я собираюсь использовать RNorm в создании X и E. Ниже приведены коды, используемые:

X <- rnorm(50,5,3)  #I'm generating 50 Xi's w/ mean=5 & var=9 
    E <- rnorm(50,0,1)  #I'm generating 50 residuals w/ mean=0 & var=1 

Теперь, я собираюсь для генерации Y путем подключения генерируемых данных на X & E выше в линейном уравнении.

Если данные, которые я сгенерировал выше, являются более свободными (без влиятельных наблюдений), то расстояние наблюдений Кука не должно превышать 4/n, что является обычным отключением для обнаружения влиятельных/отдаленных наблюдений.

Но я не смог довести это до сих пор. Я все еще получаю выбросы, когда создаю данные, следуя этой процедуре.

Можете ли вы мне помочь? Вы знаете способ, каким образом я могу генерировать данные, которые БЕСПЛАТНО.

Большое спасибо!

ответ

0

Ну, в любом случае можно было бы обнаружить и удалить эти выбросы, найдя сгенерированные точки, превышающие некоторую обрезку. Конечно, это навредило бы «случайности» в ваших сгенерированных данных, но ваш запрос на данные, свободные от выбросов, подразумевает, что по определению. Вероятно, уменьшение дисперсии X также может помочь.

+0

Я не могу удалить данные о выбросах. Это было бы подделкой смоделированных данных, и, как вы сказали, может повредить «случайный» процесс генерации данных. Я уже пытался уменьшить дисперсию X, все тот же результат. –

0

Есть ли определенная причина, по которой вам нужно, чтобы X был нормально распределен? Предположение о нормальности в регрессии относится к остаткам (термин ошибки). Обычно измеряемая независимая переменная не будет нормально распределена - в сбалансированной (квази-) экспериментальной установке X должны быть близки к равномерно распределенным. Равномерное распределение для X (или даже равномерно разделенная последовательность, сгенерированное с seq()) поможет вам здесь, потому что «outlierness» выбросов возникает из-за того, что они находятся далеко от центра от пространства выборки и сравнительно немногочисленны. С равномерным распределением их уже не так много, что снижает их кредитное плечо.

В качестве боковой панели: реальные данные имеют выбросы. На самом деле это один из способов обнаружения косвенных или даже поддельных данных в науке. Если вас интересуют симуляции, которые соответствуют чему-то на самом деле, то выбросы могут быть не плохими. И существует целый мир надежных методов для обработки данных с произвольно плохими выбросами принципиально, в отличие от произвольных точек отсечки.

+0

Привет, Ливий! На самом деле, моя цель - имитировать данные OUTLIER-FREE, которые я могу использовать в линейном и нелинейном моделировании. Я попробую генерировать X под однородным распределением и посмотрю, не сделает ли это мои данные более свободными. С другой стороны, знаете ли вы другие способы, чтобы генерировать данные, не содержащие выбросов? Благодаря! –

Смежные вопросы