시계열 데이터 보간

6757 단어 pandas파이썬scipy

시계열 데이터 보간


  • x축이 시계열 데이터를 보완하고 싶어서 생각해 보았다.
  • pandas를 사용하여 날짜 형식을 줄리안 데이로 변환하여 보간을 수행했습니다.

  • 가져오기


    import pandas as pd
    import numpy as np
    import matplotlib.pyplot as plt
    from scipy import interpolate
    

    테스트 데이터 작성


  • x 시간은 2시간마다이며, 1일 분
  • sin 곡선, 하루에 2주기
  • x = pd.date_range('2018-02-07', '2018-02-08', freq='2H')
    y = np.sin(x.to_julian_date()*2*np.pi*2)
    
    # テストデータのプロット
    plt.figure(figsize=(13,5))
    plt.xlim(x[0], x[-1])
    plt.scatter(x,y)
    



    보간 데이터


  • 보간 데이터는 10분마다 했다.
  • 시계열 데이터의 작성은 pandas에서 시계열 데이터 만들기를 참조.
  • x_in = pd.date_range('2018-02-07', '2018-02-08', freq='10min')
    

    보간


  • x는 줄리안 데이로 변환합니다
  • # 線形
    f1 = interpolate.interp1d(x.to_julian_date(), y)
    y_f1 = f1(x_in.to_julian_date())
    
    #2次スプライン
    f2 = interpolate.interp1d(x.to_julian_date(), y, kind="quadratic")
    y_f2 = f2(x_in.to_julian_date())
    

    결과 표시


    plt.figure(figsize=(13,5))
    plt.xlim(x[0], x[-1])
    plt.scatter(x, y, label='original')
    plt.plot(x_in, y_f1, label='linear')
    plt.plot(x_in, y_f2, label='quadratic')
    plt.legend()
    

    좋은 웹페이지 즐겨찾기