НачатьНачать бесплатно

Исследование данных с помощью разведочного анализа

Для начала давайте изучим данные. Прежде чем приступать к любому проекту по машинному обучению, необходимо провести разведочный анализ данных (EDA), чтобы хорошо в них разобраться. Это включает:

  • графики исходных данных
  • гистограммы
  • и многое другое…

Как правило, стоит начинать с графиков исходных данных и гистограмм — они помогают понять распределение данных. Если распределение нормальное, можно применять параметрические методы статистики.

Для вас уже загружены данные по двум акциям в виде DataFrame библиотеки pandas: lng_df и spy_df (LNG и SPY). Ознакомьтесь с ними с помощью .head(). В качестве входных данных для алгоритмов машинного обучения мы будем использовать цены закрытия, а в дальнейшем — и объём торгов.

Примечание: каждый раз, когда нужно построить новый график, вызывайте plt.clf() или f = plt.figure().

Это упражнение является частью курса

Машинное обучение для финансов на Python

Посмотреть курс

Инструкции к упражнению

  • Выведите первые 5 строк обоих DataFrame (lng_df и spy_df) и изучите их содержимое.
  • С помощью библиотеки pandas постройте графики временных рядов исходных данных для 'SPY' и 'LNG', используя скорректированную цену закрытия ('Adj_Close') — задайте параметр legend=True в .plot().
  • Используйте plt.show(), чтобы отобразить график временного ряда (matplotlib.pyplot уже импортирован как plt).
  • С помощью pandas и matplotlib постройте гистограмму однодневного процентного изменения скорректированной цены закрытия (используйте .pct_change()) для SPY и LNG.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

print(lng_df.head())  # examine the DataFrames
print(____)  # examine the SPY DataFrame

# Plot the Adj_Close columns for SPY and LNG
spy_df[____].plot(label='SPY', legend=True)
lng_df[____].plot(label=____, ____, secondary_y=True)
____  # show the plot
plt.clf()  # clear the plot space

# Histogram of the daily price change percent of Adj_Close for LNG
lng_df['Adj_Close'].____.plot.hist(bins=50)
plt.xlabel('adjusted close 1-day percent change')
plt.show()
Редактировать и запускать код