Translation not up to date
Zaman serisi kitaplığı, univariate, multisariate, çok anahtarlı zaman dizilerinin yanı sıra sayısal ve kategorik tiplerde çeşitli işlevler sağlar.
Kitaplığın sağladığı işlevsellik geniş bir şekilde kategorilere ayrılabilir:
- Zaman serisi G/Ç, zaman serisi verileri oluşturma ve kaydetme için
- Zaman dizisi işlevleri, dönüşümleri, pencere ya da kesimlere ayırma ve indirgeme
- Scalable time serisi işlevlerini yürütmeyi etkinleştirmek için Spark 'a zaman serisi SQL ve SQL uzantıları
Bazı temel işlevler, aşağıdaki kısımlarda örnek kullanılarak gösterilmiştir.
Zaman serisi G/Ç
Bir zaman dizisine ilişkin birincil giriş ve çıkış (G/Ç) işlevi, bir pandadan DataFrame ya da Python listelerinden geçiyor. Aşağıdaki kod örneği, bir DataFrame' ten bir zaman serisi oluşturulmasını gösterir:
>>> import numpy as np
>>> import pandas as pd
>>> data = np.array([['', 'key', 'timestamp', "value"],['', "a", 1, 27], ['', "b", 3, 4], ['', "a", 5, 17], ['', "a", 3, 7], ['', "b", 2, 45]])
>>> df = pd.DataFrame(data=data[1:, 1:], index=data[1:, 0], columns=data[0, 1:]).astype(dtype={'key': 'object', 'timestamp': 'int64', 'value': 'float64'})
>>> df
key timestamp value
a 1 27.0
b 3 4.0
a 5 17.0
a 3 7.0
b 2 45.0
#Create a timeseries from a dataframe, providing a timestamp and a value column
>>> ts = tspy.time_series(df, ts_column="timestamp", value_column="value")
>>> ts
TimeStamp: 1 Value: 27.0
TimeStamp: 2 Value: 45.0
TimeStamp: 3 Value: 4.0
TimeStamp: 3 Value: 7.0
TimeStamp: 5 Value: 17.0
Bir zaman dizisinden bir pandaa DataFramegeri dönmek için to_df
işlevini kullanın:
>>> import tspy
>>> ts_orig = tspy.time_series([1.0, 2.0, 3.0])
>>> ts_orig
TimeStamp: 0 Value: 1
TimeStamp: 1 Value: 2
TimeStamp: 2 Value: 3
>>> df = ts_orig.to_df()
>>> df
timestamp value
0 0 1
1 1 2
2 2 3
Veri modeli
Zaman serisi verilerinin model ve veri tipleri için herhangi bir standardı yoktur; örneğin, Spatial Geospatial Consortium (OGC) gibi bir standarda yönetilen uzamsal gibi bazı veri tiplerinden farklı olarak. Zaman serisi verileri ile ilgili zorluk, Spark Resilient Distributed Datasets (RDD) ile benzer şekilde desteklenmesi gereken çok çeşitli işlevlere sahip.
Veri modeli, farklı bölümleme biçimleri ya da zaman serilerinin pencere genişliği, bir zaman dizisinden diğerine dönüştürmeler ya da dönüştürmeler, bir zaman dizisinden statik bir değer hesaplayan, birden çok zaman serisine katılan birleştirmeler ve farklı saat dilimlerindeki zaman serilerinin toplayıcıları arasında çok çeşitli işlemler yapılmasına olanak tanır. Zaman serisi kitaplığı, çekirdek veri yapısını değiştirilemez olarak tutarken, yeni işlevlerin eklenmesine ve eklenmesine olanak sağlar. Kitaplık ayrıca, sayısal ve kategorik tip atanmış zaman dillerini de destekler.
Saat dilimleri ve çeşitli insan tarafından okunabilir zaman biçimleriyle, veri modelinin önemli bir yönü Zaman Referans Sistemi (TRS) için destek sağlar. Her zaman dizisi bir TRS (sistem varsayılanı) ile ilişkilendirilir; bu, belirli bir zaman serisinin ya da bir zaman serisinin bir kesiminin kolayca dönüşümünü etkinleştirerek, herhangi bir zamanda kullanıcının herhangi bir tercihine yeniden eşlenebilir. Bkz. Zaman başvuru sistemini kullanma.
Ayrıca, büyük ölçekli zaman serilerinin ele alma gereksinimi ile, kitaplık, üst sınırdaki dar zamansal bağımlılığın belirlenmesi için bir mekanizma sağlayarak tembel bir değerlendirme yapısı sunar. Bu yapı, bir Spark hesaplama grafiğiyle çok benzerdir. Bu grafik, verileri gerektiği şekilde belleğe yükler ve yalnızca gerektiğinde hesaplamaların farkına varır.
Zaman serisi veri tipleri
Bir zaman serisinin öğesi, sayısal, kategorik, dizi ve sözlük veri yapılarına yayılan bir öğe olarak birden çok veri tipini kullanabilirsiniz.
Bir zaman serisinde aşağıdaki veri tipleri desteklenir:
Veri tipi | Açıklama |
---|---|
sayısal | Çift ve tamsayı da içinde olmak üzere, sayısal tipte birivariate gözlemleri içeren zaman serileri. Örneğin:[(1, 7.2), (3, 4.5), (5, 4.5), (5, 4.6), (5, 7.1), (7, 3.9), (9, 1.1)] |
sayısal dizi | Çift dizi ve tamsayı dizisi de içinde olmak üzere, sayısal tipte çok değişkenli gözlemler içeren zaman serileri. Örneğin: [(1, [7.2, 8.74]), (3, [4.5, 9.44]), (5, [4.5, 10.12]), (5, [4.6, 12.91]), (5, [7.1, 9.90]), (7, [3.9, 3.76])] |
dize | Dizgi tipi dizgi gözlemleri içeren zaman serileri, örneğin: [(1, "a"), (3, "b"), (5, "c"), (5, "d"), (5, "e"), (7, "f"), (9, "g")] |
Dizgi Dizisi | Dizgi dizisine ilişkin çok değişkenli gözlemler içeren zaman serileri, örneğin: [(1, ["a", "xq"]), (3, ["b", "zr"]), (5, ["c", "ms"]), (5, ["d", "rt"]), (5, ["e", "wu"]), (7, ["f", "vv"]), (9, ["g", "zw"])] |
Bölüm | Kesimler dizisi. Sayısal, dizgi, sayısal dizi ve dizgi dizisi gibi, segmentBy işlevinin çıkışı herhangi bir tip olabilir. Örneğin: [(1,[(1, 7.2), (3, 4.5)]), (5,[(5, 4.5), (5, 4.6), (5, 7.1)]), (7,[(7, 3.9), (9, 1.1)])] |
Sözlük | Sözlüklerin zaman dizisi. Bir sözlüğün içinde isteğe bağlı tipler olabilir. |
Zaman serisi işlevleri
Daha önce gözlemlenen değerlere dayalı olarak yeni değerleri tahmin etmek için kullanılabilecek modeller oluşturulabilecek anlamlı bilgiler almak üzere zaman serisi verilerini çözümlemek için sağlanan zaman serisi paketlerinde farklı işlevler kullanabilirsiniz. Bkz. Zaman serisi işlevleri.
Daha fazla bilgi
tspy
Python SDK ' yı kullanmak için, tspy
Python SDK belgelerine bakın.
Üst konu: Zaman serisi analizi