時間序列挖掘分析:tsfresh特征中文(二)

【說明】

應(yīng)大家要求,我把第二部分文檔提供出來,這部分文檔是由我的前同事Thomas整理的,大家對于完整的md文件可以參見我們的GitHub項目https://github.com/SimaShanhe/tsfresh-feature-translation。

max_langevin_fixed_point(x, r, m)

  • 譯:langevin模型的最大定點
  • 數(shù)學(xué)解釋:從argmax_x{h(x)=0}多項式中估計h(x),它已經(jīng)能適應(yīng)Langevin模型的確定性動力學(xué)

(x)(t)=h[x(t)]+R(N)(0,1))

這被下述的文章描述:
Friedrich et al. (2000): Physics Letters A 271, p. 217-222 Extracting model equations from experimental data
對于短時間序列,這個方法高度依賴于參數(shù)。

  • 參數(shù):
    • x(pandas.Series)計算時序特征的數(shù)據(jù)對象
    • m(int)適合估計動力學(xué)固定點的多項式的階數(shù)
    • r(float)用于平均的分位數(shù)
  • 返回:最大的確定性動力學(xué)定點(float浮點型)
  • 函數(shù)類型:簡單
  • 代碼示例:
#!/usr/bin/python3
import tsfresh as tsf
import pandas as pd

ts = pd.Series(x)  #數(shù)據(jù)x假設(shè)已經(jīng)獲取
ae = tsf.feature_extraction.feature_calculators.max_langevin_fixed_point(ts, m, r)

mean(x)

  • 譯:計算x序列的平均值
  • 參數(shù):x(pandas.Series)計算時序特征的數(shù)據(jù)對象
  • 返回:這個特征的值(float浮點數(shù))
  • 函數(shù)類型:簡單
  • 代碼示例:
#!/usr/bin/python3
import tsfresh as tsf
import pandas as pd

ts = pd.Series(x)  #數(shù)據(jù)x假設(shè)已經(jīng)獲取
ae = tsf.feature_extraction.feature_calculators.mean(ts)

mean_abs_change(x)

  • 譯:時間序列連續(xù)兩點值的變化的絕對值的平均值
  • 返回后續(xù)時間序列值之間的絕對差值的平均值:
    \frac{1}{n}{\sum_{i=1,...,n-1}}|x_{i+1}-x_{i}|)
  • 參數(shù):x(pandas.Series)計算時序特征的數(shù)據(jù)對象
  • 返回:這個特征的值(float浮點數(shù))
  • 函數(shù)類型:簡單
  • 代碼示例:
#!/usr/bin/python3
import tsfresh as tsf
import pandas as pd

ts = pd.Series(x)  #數(shù)據(jù)x假設(shè)已經(jīng)獲取
ae = tsf.feature_extraction.feature_calculators.mean_abs_change(ts)

mean_change(x)

  • 譯:時間序列連續(xù)兩點值的變化的平均值
  • 返回后續(xù)時間序列值之間的差值的平均值:
    \frac{1}{n}{\sum_{i=1,...,n-1}}x_{i+1}-x_{i})
  • 參數(shù):x(pandas.Series)計算時序特征的數(shù)據(jù)對象
  • 返回:這個特征的值(float浮點數(shù))
  • 函數(shù)類型:簡單
  • 代碼示例:
#!/usr/bin/python3
import tsfresh as tsf
import pandas as pd

ts = pd.Series(x)  #數(shù)據(jù)x假設(shè)已經(jīng)獲取
ae = tsf.feature_extraction.feature_calculators.mean_change(ts)

mean_second_derivative_central(x)

  • 譯:二階導(dǎo)數(shù)的中心的均值
  • 返回二階導(dǎo)數(shù)的中心近似的平均值:
    \frac{1}{n}{\sum_{i=1,...,n-1}}{\frac{1}{2}(x_{i+2}-2·x_{i+1}+x_i)})
  • 參數(shù):x(pandas.Series)計算時序特征的數(shù)據(jù)對象
  • 返回:這個特征的值(float浮點數(shù))
  • 函數(shù)類型:簡單
  • 代碼示例:
#!/usr/bin/python3
import tsfresh as tsf
import pandas as pd

ts = pd.Series(x)  #數(shù)據(jù)x假設(shè)已經(jīng)獲取
ae = tsf.feature_extraction.feature_calculators.mean_second_derivative_central(ts)

median(x)

  • 譯:計算x序列的中位數(shù)
  • 返回x序列的中位數(shù)
  • 參數(shù):x(pandas.Series)計算時序特征的數(shù)據(jù)對象
  • 返回:這個特征的值(float浮點數(shù))
  • 函數(shù)類型:簡單
  • 代碼示例:
#!/usr/bin/python3
import tsfresh as tsf
import pandas as pd

ts = pd.Series(x)  #數(shù)據(jù)x假設(shè)已經(jīng)獲取
ae = tsf.feature_extraction.feature_calculators.median(ts)

minimum(x)

  • 譯:計算x序列的最小值
  • 參數(shù):x(pandas.Series)計算時序特征的數(shù)據(jù)對象
  • 返回:這個特征的值(float浮點數(shù))
  • 函數(shù)類型:簡單
  • 代碼示例:
#!/usr/bin/python3
import tsfresh as tsf
import pandas as pd

ts = pd.Series(x)  #數(shù)據(jù)x假設(shè)已經(jīng)獲取
ae = tsf.feature_extraction.feature_calculators.minimum(ts)

number_crossing_m(x, m)

  • 譯:計算m上的x的交叉數(shù)。交叉數(shù)被定義為兩個連續(xù)值,其中第一個值小于m而下一個值更大,反之亦然。如果將m設(shè)置為零,則將獲得零交叉的數(shù)量。
  • 參數(shù):
    • x(pandas.Series)計算時序特征的數(shù)據(jù)對象
    • m(float)交叉項的閾值
  • 返回:這個特征的值(int整數(shù)型)
  • 函數(shù)類型:簡單
  • 代碼示例:
#!/usr/bin/python3
import tsfresh as tsf
import pandas as pd

ts = pd.Series(x)  #數(shù)據(jù)x假設(shè)已經(jīng)獲取
ae = tsf.feature_extraction.feature_calculators.number_crossing_m(ts, m)

number_cwt_peaks(x, n)

  • 譯:此特征計算器搜索x中的不同峰值。為此,x由ricker小波平滑,寬度范圍從1到n。此特征計算器返回在足夠?qū)挾确秶鷥?nèi)出現(xiàn)的峰值數(shù)量,并具有足夠高的信噪比(SNR)。
  • 參數(shù):
    • x(pandas.Series)計算時序特征的數(shù)據(jù)對象
    • n(int)考慮的最大寬度
  • 返回:這個特征的值(整數(shù)型)
  • 函數(shù)類型:簡單
  • 代碼示例:
#!/usr/bin/python3
import tsfresh as tsf
import pandas as pd

ts = pd.Series(x)  #數(shù)據(jù)x假設(shè)已經(jīng)獲取
ae = tsf.feature_extraction.feature_calculators.number_cwt_peaks(ts, n)

number_peaks(x, n)

  • 譯:計算時間序列x中至少支持n的峰值數(shù)。支持n的峰值被定義為x的子序列,其中出現(xiàn)值大于其左邊和右邊的n個鄰居。

因此在序列中:

>>> x = [3,0,0,4,0,0,13]

4是支持1和2的一個峰值,因為在子序列中:

>>> [0,4,0]
>>> [0,0,4,0,0]

4仍然是最大值。但是在這里,4不是支持3的峰值,因為13是4右邊的第三個鄰居并且比4大。

  • 參數(shù):
    • x(pandas.Series)計算時序特征的數(shù)據(jù)對象
    • n(int)峰的支持?jǐn)?shù)
  • 返回:這個特征的值(整數(shù)型)
  • 函數(shù)類型:簡單
  • 代碼示例:
#!/usr/bin/python3
import tsfresh as tsf
import pandas as pd

ts = pd.Series(x)  #數(shù)據(jù)x假設(shè)已經(jīng)獲取
ae = tsf.feature_extraction.feature_calculators.number_cwt_peaks(ts, n)

partial_autocorrelation(x, param)

  • 譯:計算給定滯后處的部分自相關(guān)函數(shù)的值。
  • 計算公式:時間序列{{x_t,t=1...T}}的滯后k部分自相關(guān)等于x_tx_{t-k}適應(yīng)中間變量{x_{t-1},...,x_{t-k+1}}([1])的部分相關(guān)。根據(jù)[2]之后,它可以定義為:

\alpha_k=\frac{Cov(x_t,x_{t-k}|x_{t-1},...,x_{t-k+1})}{\sqrt{Var(x_t|x_{t-1},...,x_{t-k+1})Var(x_{t-k}|x_{t-1},...,x_{t-k+1})}})

(a)x_t=f(x_{t-1},...,x_{t-k+1})和(b)x_{t-k}=f(x_{t-1},...,x_{t-k+1})是可以由OLS擬合的AR(k-1)模型。請注意,在(a)中,回歸是對過去的值進(jìn)行預(yù)測x_t。而在(b)中,未來的值用于計算過去的值x_{t-k}。在[1]中說“對于AR(p),部分自相關(guān)[\alpha_k]對于k<=p將是非零且對于k>p將為零"。使用此屬性,它用于確定AR-過程的滯后。
參考:
[1] Box, G. E., Jenkins, G. M., Reinsel, G. C., & Ljung, G. M. (2015). Time series analysis: forecasting and control. John Wiley & Sons.
[2] https://onlinecourses.science.psu.edu/stat510/node/62

  • 參數(shù):
    • x(pandas.Series)計算時序特征的數(shù)據(jù)對象
    • 參數(shù)(list列表)包含多個字典{“l(fā)ag”: val},用整數(shù)(val)顯示返回的滯后值
  • 返回:這個特征的值(float浮點型)
  • 函數(shù)類型:組合器
  • 代碼示例:
#!/usr/bin/python3
import tsfresh as tsf
import pandas as pd

ts = pd.Series(x)  #數(shù)據(jù)x假設(shè)已經(jīng)獲取
ae = tsf.feature_extraction.feature_calculators.partial_autocorrelation(ts, param)

percentage_of_reoccurring_datapoints_to_all_datapoints(x)

  • 譯:返回多次出現(xiàn)在時間系列中的唯一值的百分比
  • 計算公式:出現(xiàn)多于一次的不同值的個數(shù) / 不同值的個數(shù)
    這意味著該百分比標(biāo)準(zhǔn)化為惟一值的數(shù)量,而不是重復(fù)出現(xiàn)的值占所有值的百分比。
  • 參數(shù):x(pandas.Series)計算時序特征的數(shù)據(jù)對象
  • 返回:這個特征的值(float浮點數(shù))
  • 函數(shù)類型:簡單
  • 代碼示例:
#!/usr/bin/python3
import tsfresh as tsf
import pandas as pd

ts = pd.Series(x)  #數(shù)據(jù)x假設(shè)已經(jīng)獲取
ae = tsf.feature_extraction.feature_calculators.percentage_of_reoccurring_datapoints_to_all_datapoints(ts)

percentage_of_reoccurring_values_to_all_values(x)

  • 譯:返回多次出現(xiàn)在時間序列中的唯一值的比率
  • 計算公式:出現(xiàn)多于一次的數(shù)據(jù)點的個數(shù) / 所有數(shù)據(jù)點的個數(shù)
    這意味著這個比率與時間序列中數(shù)據(jù)點的數(shù)量是標(biāo)準(zhǔn)化的,相比the percentage_of_reoccurring_datapoints_to_all_datapoints
  • 參數(shù):x(pandas.Series)計算時序特征的數(shù)據(jù)對象
  • 返回:這個特征的值(float浮點數(shù))
  • 函數(shù)類型:簡單
  • 代碼示例:
#!/usr/bin/python3
import tsfresh as tsf
import pandas as pd

ts = pd.Series(x)  #數(shù)據(jù)x假設(shè)已經(jīng)獲取
ae = tsf.feature_extraction.feature_calculators.percentage_of_reoccurring_values_to_all_values(ts)

quantile(x, q)

  • 譯:計算x的q分位數(shù)。這是大于x的有序值的前q\%x值。
  • 參數(shù):
    • x(pandas.Series)計算時序特征的數(shù)據(jù)對象
    • q(float)計算中位數(shù)
  • 返回:這個特征的值(浮點型)
  • 函數(shù)類型:簡單
  • 代碼示例:
#!/usr/bin/python3
import tsfresh as tsf
import pandas as pd

ts = pd.Series(x)  #數(shù)據(jù)x假設(shè)已經(jīng)獲取
ae = tsf.feature_extraction.feature_calculators.quantile(ts, n)

range_count(x, min, max)

  • 譯:計算區(qū)間[min,max]內(nèi)的觀測值的個數(shù)。
  • 參數(shù):
    • x(pandas.Series)計算時序特征的數(shù)據(jù)對象
    • min(int or float)范圍包含下限
    • max(int or float)范圍包含上限
  • 返回:范圍內(nèi)值的個數(shù)(整型)
  • 函數(shù)類型:簡單
  • 代碼示例:
#!/usr/bin/python3
import tsfresh as tsf
import pandas as pd

ts = pd.Series(x)  #數(shù)據(jù)x假設(shè)已經(jīng)獲取
ae = tsf.feature_extraction.feature_calculators.range_count(ts, min, max)

ratio_beyond_r_sigma(x, r)

  • 譯:偏離x的平均值大于r * std(x)(so r sigma)的值的比率。
  • 參數(shù):x(iterable)計算時序特征的數(shù)據(jù)對象
  • 返回:這個特征的值(浮點型)
  • 函數(shù)類型:簡單
  • 代碼示例:
#!/usr/bin/python3
import tsfresh as tsf
import pandas as pd

ae = tsf.feature_extraction.feature_calculators.ratio_beyond_r_sigma(ts, r)

ratio_value_number_to_time_series_length(x)

  • 譯:如果時間序列中的所有值僅出現(xiàn)一次,則返回1,如果不是這樣,則小于1。原則上,它只是返回:
  • 計算公式:單一的值 / 所有的值
  • 參數(shù):x(pandas.Series)計算時序特征的數(shù)據(jù)對象
  • 返回:這個特征的值(float浮點數(shù))
  • 函數(shù)類型:簡單
  • 代碼示例:
#!/usr/bin/python3
import tsfresh as tsf
import pandas as pd

ts = pd.Series(x)  #數(shù)據(jù)x假設(shè)已經(jīng)獲取
ae = tsf.feature_extraction.feature_calculators.ratio_value_number_to_time_series_length(ts)

sample_entropy(x)

#!/usr/bin/python3
import tsfresh as tsf
import pandas as pd

ts = pd.Series(x)  #數(shù)據(jù)x假設(shè)已經(jīng)獲取
ae = tsf.feature_extraction.feature_calculators.sample_entropy(ts)

set_property(key, value)

該方法返回一個裝飾器,該裝飾器將函數(shù)的屬性鍵設(shè)置為value。


skewness(x)

  • 譯:返回x的樣本偏度(使用調(diào)整后的Fisher-Pearson標(biāo)準(zhǔn)化力矩系數(shù)G1計算)
  • 參數(shù):x(pandas.Series)計算時序特征的數(shù)據(jù)對象
  • 返回:這個特征的值(float浮點數(shù))
  • 函數(shù)類型:簡單
  • 代碼示例:
#!/usr/bin/python3
import tsfresh as tsf
import pandas as pd

ts = pd.Series(x)  #數(shù)據(jù)x假設(shè)已經(jīng)獲取
ae = tsf.feature_extraction.feature_calculators.skewness(ts)

spkt_welch_density(x, param)

  • 譯:該特征計算器估計不同頻率下時間序列x的交叉功率譜密度。為此,首先將時間序列從時域轉(zhuǎn)移到頻域。
    特征計算器返回不同頻率的功率譜。
  • 參數(shù):
    • x(pandas.Series)計算時序特征的數(shù)據(jù)對象
    • param(list)包括多個字典{“coeff”: x}(x為整型)
  • 返回:不同的特征值(pandas.Series)
  • 函數(shù)類型:組合器
  • 代碼示例:
#!/usr/bin/python3
import tsfresh as tsf
import pandas as pd

ts = pd.Series(x) # 數(shù)據(jù)x假設(shè)已經(jīng)獲取
ae = tsf.feature_extraction.feature_calculators.spkt_welch_density(ts, param)

standard_deviation(x)

  • 譯:返回x的標(biāo)準(zhǔn)偏差
  • 參數(shù):x(pandas.Series)計算時序特征的數(shù)據(jù)對象
  • 返回:這個特征的值(float浮點數(shù))
  • 函數(shù)類型:簡單
  • 代碼示例:
#!/usr/bin/python3
import tsfresh as tsf
import pandas as pd

ts = pd.Series(x)  #數(shù)據(jù)x假設(shè)已經(jīng)獲取
ae = tsf.feature_extraction.feature_calculators.standard_deviation(ts)

sum_of_reoccurring_data_points(x)

  • 譯:返回時間序列中出現(xiàn)超過一次的所有數(shù)據(jù)點的個數(shù)總和
  • 參數(shù):x(pandas.Series)計算時序特征的數(shù)據(jù)對象
  • 返回:這個特征的值(float浮點數(shù))
  • 函數(shù)類型:簡單
  • 代碼示例:
#!/usr/bin/python3
import tsfresh as tsf
import pandas as pd

ts = pd.Series(x)  #數(shù)據(jù)x假設(shè)已經(jīng)獲取
ae = tsf.feature_extraction.feature_calculators.standard_deviation(ts)

sum_of_reoccurring_values(x)

  • 譯:返回時間序列中出現(xiàn)超過一次的所有數(shù)據(jù)點的值總和
  • 參數(shù):x(pandas.Series)計算時序特征的數(shù)據(jù)對象
  • 返回:這個特征的值(float浮點數(shù))
  • 函數(shù)類型:簡單
  • 代碼示例:
#!/usr/bin/python3
import tsfresh as tsf
import pandas as pd

ts = pd.Series(x)  #數(shù)據(jù)x假設(shè)已經(jīng)獲取
ae = tsf.feature_extraction.feature_calculators.sum_of_reoccurring_values(ts)

sum_values(x)

  • 譯:計算時間序列值的總和
  • 參數(shù):x(pandas.Series)計算時序特征的數(shù)據(jù)對象
  • 返回:這個特征的值(bool布爾型)
  • 函數(shù)類型:簡單
  • 代碼示例:
#!/usr/bin/python3
import tsfresh as tsf
import pandas as pd

ts = pd.Series(x)  #數(shù)據(jù)x假設(shè)已經(jīng)獲取
ae = tsf.feature_extraction.feature_calculators.sum_values(ts)

symmetry_looking(x, param)

  • 譯:布爾變量標(biāo)識x的分布是否對稱。這是一個案例如果:
    |mean(X)-median(X)|<r*[max(X)-min(X)])
  • 參數(shù):
    • x(pandas.Series)計算時序特征的數(shù)據(jù)對象
    • r(float)對比的范圍的比例
  • 返回:這個特征的值(bool布爾型)
  • 函數(shù)類型:組合器
  • 代碼示例:
#!/usr/bin/python3
import tsfresh as tsf
import pandas as pd

ts = pd.Series(x)  #數(shù)據(jù)x假設(shè)已經(jīng)獲取
ae = tsf.feature_extraction.feature_calculators.symmetry_looking(ts, r)

time_reversal_asymmetry_statistic(x, lag)

  • 譯:這個函數(shù)計算下式的值:
    \frac{1}{n-2lag}{\sum_{i=0}^{n-2lag}}x^2_{i+2·lag}·x_{i+lag}-x_{i+lag}·x^2_i)
    它是:
    E[L^2(X)^2·L(X)-L(X)·X^2])
    其中E是均值且L是滯后算子。它在[1]中被提出,作為一個從序列中提出的有用的特征。
    參考:
    [1] Fulcher, B.D., Jones, N.S. (2014). Highly comparative feature-based time-series classification. Knowledge and Data Engineering, IEEE Transactions on 26, 3026–3037.
  • 參數(shù):
    • x(pandas.Series)計算時序特征的數(shù)據(jù)對象
    • lag(int)這個值應(yīng)該被特征計算使用
  • 返回:這個特征的值(float浮點型)
  • 函數(shù)類型:簡單
  • 代碼示例:
#!/usr/bin/python3
import tsfresh as tsf
import pandas as pd

ts = pd.Series(x)  #數(shù)據(jù)x假設(shè)已經(jīng)獲取
ae = tsf.feature_extraction.feature_calculators.time_reversal_asymmetry_statistic(ts, lag)

value_count(x, value)

  • 譯:計算時間序列xvalue出現(xiàn)的次數(shù)
  • 參數(shù):
    • x(pandas.Series)計算時序特征的數(shù)據(jù)對象
    • value(int or float)被計算的值
  • 返回:計數(shù)(int整型)
  • 函數(shù)類型:簡單
  • 代碼示例:
#!/usr/bin/python3
import tsfresh as tsf
import pandas as pd

ts = pd.Series(x)  #數(shù)據(jù)x假設(shè)已經(jīng)獲取
ae = tsf.feature_extraction.feature_calculators.value_count(ts, value)

variance(x)

  • 譯:返回序列x的方差
  • 參數(shù):x(pandas.Series)計算時序特征的數(shù)據(jù)對象
  • 返回:這個特征的值(float浮點型)
  • 函數(shù)類型:簡單
  • 代碼示例:
#!/usr/bin/python3
import tsfresh as tsf
import pandas as pd

ts = pd.Series(x)  #數(shù)據(jù)x假設(shè)已經(jīng)獲取
ae = tsf.feature_extraction.feature_calculators.variance(ts)

variance_larger_than_standard_deviation(x)

  • 譯:布爾變量,表示x的方差是否大于其標(biāo)準(zhǔn)差。是表示x的方差大于1
  • 參數(shù):x(pandas.Series)計算時序特征的數(shù)據(jù)對象
  • 返回:這個特征的值(bool布爾型)
  • 函數(shù)類型:簡單
  • 代碼示例:
#!/usr/bin/python3
import tsfresh as tsf
import pandas as pd

ts = pd.Series(x)  #數(shù)據(jù)x假設(shè)已經(jīng)獲取
ae = tsf.feature_extraction.feature_calculators.variance_larger_than_standard_deviation(ts)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容