Есть ли способ использовать линейную регрессию на 1-D или использовать LSTM для генерации чисел - PullRequest
0 голосов
/ 21 апреля 2020

Я работаю над задачей линейной регрессии и знаю только концепцию простой линейной регрессии, в которой мы даем значение 'x', а оно предсказывает значение 'y'.

Я сгенерировал полуслучайный числа от 100 до 100000, используя указанный алгоритм c и сохраните результат в столбце CSV.

Теперь я хочу использовать этот столбец и обучить линейный регрессор, чтобы он узнал последовательность между этими числами а затем предсказать число на основе последнего числа, которое я ему дам.

Или я могу рассматривать эту проблему как проблему генерации последовательности с использованием LSTM. Будет ли LSTM хорошим подходом для этого, в котором я буду кормить этот 1-D набор чисел и на основе этого LSTM будет генерировать больше чисел?

У меня есть только один столбец, который равен x столбец и не имеет никакого столбца. Я искал "Как использовать линейную регрессию на одномерных данных", но ничего не нашел.

Есть ли способ обучить линейной регрессии на одномерных данных для прогнозирования числа? Я использую Python язык для этой задачи.

Мой CSV-файл выглядит следующим образом:

CSV of 1-D numbers

1 Ответ

0 голосов
/ 22 апреля 2020

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

Вы можете построить автокорреляцию, чтобы определить, сколько лагов нужно учитывать для следующего прогноза. Вы можете использовать функцию pandas autocorr , чтобы найти автокорреляцию до некоторой задержки и построить коррелограмму .

, скажем, ваши последние 5 значений сильно коррелированы с самым последним значением.

тогда вы можете сложить эти числа в одну строку, например, в вашем случае самое последнее значение t,

           | ----------  X_train --------------------|                   |-- y train|
1st row -> 226,200,1169,134,117 (t-1 ,t-2,t-3,t-4,t-5) predicted value -> 239 (t)
2nd row -> 200,1169,134,117,759 (t-2 ,t-3,t-4,t-5,t-6) predicted value -> 226 (t-1)
3rd row -> 1169,134,117,759,102 (t-3 ,t-4,t-5,t-6,t-7) predicted value -> 200 (t-2)
......................................................  ...................so on..

Pandas shift метод - это использование для легкого смещения набора данных по лагу за лагом и создания набора данных. Теперь у вас есть наборы X_train и y_train. Разделите набор данных и обучите линейную модель.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...