Как правильно генерировать синтетические данные c для Пуассона и экспоненциальные гамма-проблемы для независимых переменных? - PullRequest
0 голосов
/ 06 января 2020

Мне нужно сгенерировать случайную выборку данных для решения проблемы Пуассона и гамма-регрессии. Я могу сгенерировать цели, используя следующее:

import numpy as np
import pandas as pd

#generate first target with poisson distribution
target_1 = np.random.poisson(lam = 0.001, size = 1664697)
df = pd.DataFrame({'target_1': target_1})
df1 = df.loc[df['target_1'] == 0]
df2 = df.loc[df['target_1'] > 0]

#generate 2nd target with exponenetial distribution
gamma_size = df2.shape[0]
target_2 = np.random.exponential(scale = 1, size = gamma_size)
target_2 = target_2*33333
target2 = list(target_2)

#join target 1 > 0 to target 2
df2['target_2'] = target2
#concatenate and fill nas both target 1 == 0 and target 2
df = pd.concat([df1, df2], ignore_index = True)
df.fillna(value = 0, inplace=True)

Первый вопрос: как добавить к этому непрерывные переменные? Допустим, я хочу добавить к этому возраст, годы владения автомобилем и тип транспортного средства. Мы будем использовать возраст для примера непрерывной переменной. Мне от 18 до 65 лет. Я знаю, что 2% моего target_1 > 0 - это 26 лет, а 30% target_1 == 0 - в возрасте 26 лет и x% для других возрастов. Как мне сгенерировать эти данные для добавления к этому набору данных?

Второй вопрос: как добавить к этому категориальные переменные? Я знаю, что у меня есть автомобили Harley, Sport и Street. Я знаю процент тех, кто за target_1 и за 'target_2`. Как бы я сгенерировал и добавил их?

Я применю две вышеупомянутые переменные к другим. Спасибо.

Спасибо за любую помощь.

...