Исправлены эффекты 2sls с линейными моделями Python — ошибка памяти.Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Исправлены эффекты 2sls с линейными моделями Python — ошибка памяти.

Сообщение Anonymous »

Я пытаюсь запустить 2SLS, чтобы оценить ценовую эластичность с помощью линейных моделей IV2SLS. Вот как выглядят мои данные:

Код: Выделить всё

| ln_q | ln_p  | .... weather variables ... | ... instruments ... |... user id dummies ...|
все данные — np.float32. Мой массив данных составляет ок. (200000, 20000), что составляет около 16 ГБ.
Используя линейные модели IV2SLS, я настроил свою модель следующим образом:

Код: Выделить всё

dependent = ln_q

Код: Выделить всё

endog = weather variables + user id dummies

Код: Выделить всё

exog = ln_p

Код: Выделить всё

instruments = instruments

Код: Выделить всё

results = IV2SLS(dependent, endog, exog, instruments).fit()
При работе с полным набором данных я постоянно получаю сообщение об ошибке:

Код: Выделить всё

Unable to allocate 27.8GiB of memory to an array with shape (202507, 18450) and data type float64
Я использую 64-битный Python на машине с 128 ГБ ОЗУ.
Я пытался обойти эту проблему, передав свои собственные веса:

Код: Выделить всё

results = IV2SLS(dependent, endog, exog, instruments, weights=np.ones(dependent.shape, dtype=np.float32)).fit()
но по-прежнему получаю ту же ошибку памяти.

Почему в этом процессе массив размером ~16 ГБ использует >100 ГБ ОЗУ?
Что я могу сделать, чтобы запустить эту регрессию?

Подробнее здесь: https://stackoverflow.com/questions/786 ... mory-error
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»