11 Colt集計関数
Oracle Continuous Query Language (Oracle CQL)のColt集計関数のリファレンスを提供します。Colt集計関数は、高性能な科学技術計算のためのColtオープン・ソース・ライブラリに基づいています。
詳細は、「関数」を参照してください。
11.1 Oracle CQLの組込みの集計Colt関数の概要
表11-1は、Oracle CQLに用意されている組込みの集計Colt関数を示しています。
表11-1 Oracle CQLの組込みの集計Coltベースの関数
Coltパッケージ | 関数 |
---|---|
一連の基本的な記述統計学関数。 |
|
ノート:
組込み関数名では大文字と小文字が区別されるため、表示されている方(小文字)を使用してください。
ノート:
ストリーム入力の例で、h
で始まる行(h 3800
など)はハートビート入力タプルです。この情報により、GGSAには、タイムスタンプがハートビート値より小さい入力は行われないことが通知されます。
リレーションの出力例では、最初のタプルの出力は次のようになります。
-9223372036854775808:+
この値は-Long.MIN_VALUE()
であり、使用できる最大の負のタイムスタンプを表します。
詳細については、以下を参照:
11.1.1 Oracle CQL Colt集計関数のシグネチャとタプル引数
Oracle CQLの Colt集計関数のシグネチャは、対応するColt集計関数のシグネチャとは一致しません。
次のColt集計関数について考えてみます。
double autoCorrelation(DoubleArrayList data, int lag, double mean, double variance)
このシグネチャでは、data
は集合の計算の対象となるCollection
であり、mean
とvariance
はautoCorrelation
の計算に必要な他の2つのパラメータの集合です(mean
とvariance
の集合はdata
で計算されます)。
GGSAでは、data
がCollection
の形式になることはありません。Oracle CQLの関数は、タプルのストリームで入力データを受け取ります。
ここでは、ストリームがS:(double val, integer lag)
と定義されているとします。各入力タプルでは、Oracle CQLのautoCorrelation
関数が2つの中間的な集合(mean
とvariance
)を計算し、最終的な1つの集合autoCorrelation
を生成します。
この関数では、double
のdata
値とinteger
のlag
値のみを持つタプルのストリームが必要であるため、Oracle CQLのautoCorrelation
関数のシグネチャは次のようになります。
double autoCorrelation (double data, int lag)
11.1.2 Colt集計関数とWhere、Group ByおよびHaving句
Oracle CQLでは、where
句はgroup by
句およびhaving
句の前に適用されます。つまり、次のOracle CQL文は無効です。
<query id="q1"><![CDATA[ select * from InputChannel[rows 4 slide 4] as ic where geometricMean(c3) > 4 ]]></query>
かわりに、次の例に示すOracle CQL文を使用する必要があります。
<query id="q1"><![CDATA[ select * from InputChannel[rows 4 slide 4] as ic, myGeoMean = geometricMean(c3) where myGeoMean > 4 ]]></query>
詳細については、以下を参照:
11.2 autoCorrelation
構文

目的
autoCorrelation
はcern.jet.stat.Descriptive.autoCorrelation(DoubleArrayList data, int lag, double mean, double variance)
に基づいています。入力引数のデータ列の自己相関をdouble
として返します。
ノート:
この関数のセマンティクスは「lag1」とは異なります。
この関数は次のタプル引数を使用します。
-
double1
: データ値。 -
int1
: ラグ。
詳細については、以下を参照:
例
問合せqColtAggr1
について考えてみます。スキーマ(c3 double)
を持つデータ・ストリームSColtAggrFunc
の場合、この問合せはリレーションを返します。
<query id="qColtAggr1"><![CDATA[ select autoCorrelation(c3, 0) from SColtAggrFunc ]]></query>
Timestamp Tuple 10 5.441341838866902 1000 6.1593756700951054 1200 3.7269733222923676 1400 4.625160266213489 1600 3.490061774090248 1800 3.6354484064421917 2000 5.635401664977703 2200 5.006087562207967 2400 3.632574304861612 2600 7.618087248962962 h 8000 h 200000000
Timestamp Tuple Kind Tuple -9223372036854775808:+ 10: - 10: + NaN 1000: - NaN 1000: + 1.0 1200: - 1.0 1200: + 1.0 1400: - 1.0 1400: + 1.0 1600: - 1.0 1600: + 1.000000000000002 1800: - 1.000000000000002 1800: + 1.0 2000: - 1.0 2000: + 0.9999999999999989 2200: - 0.9999999999999989 2200: + 0.999999999999999 2400: - 0.999999999999999 2400: + 0.9999999999999991 2600: - 0.9999999999999991 2600: + 1.0000000000000013
11.3 correlation
構文

目的
correlation
はcern.jet.stat.Descriptive.correlation(DoubleArrayList data1, double standardDev1, DoubleArrayList data2, double standardDev2)
に基づいています。入力引数の2つのデータ列の相関をdouble
として返します。
この関数は次のタプル引数を使用します。
-
double1
: データ値1。 -
double2
: データ値2。
詳細については、以下を参照:
例
問合せqColtAggr2
について考えてみます。スキーマ(c1 integer, c2 float, c3 double, c4 bigint)
を持つデータ・ストリームSColtAggrFunc
の場合、この問合せはリレーションを返します。
<query id="qColtAggr2"><![CDATA[ select correlation(c3, c3) from SColtAggrFunc ]]></query>
Timestamp Tuple 10 1, 0.5, 40.0, 8 1000 4, 0.7, 30.0, 6 1200 3, 0.89, 20.0, 12 2000 8, 0.4, 10.0, 4 h 8000 h 200000000
Timestamp Tuple Kind Tuple -9223372036854775808:+ 10: - 10: + NaN 1000: - NaN 1000: + 2.0 1200: - 2.0 1200: + 1.5 2000: - 1.5 2000: + 1.333333333333333
11.4 covariance
構文

目的
covariance
はcern.jet.stat.Descriptive.covariance(DoubleArrayList data1, DoubleArrayList data2)
に基づいています。入力引数の2つのデータ列の相関(図11-1を参照)をdouble
として返します。
図11-1 cern.jet.stat.Descriptive.covariance

この関数は次のタプル引数を使用します。
-
double1
: データ値1。 -
double2
: データ値2。
詳細については、以下を参照:
例
問合せqColtAggr3
について考えてみます。スキーマ(c1 integer, c2 float, c3 double, c4 bigint)
を持つデータ・ストリームSColtAggrFunc
の場合、この問合せはリレーションを返します。
<query id="qColtAggr3"><![CDATA[ select covariance(c3, c3) from SColtAggrFunc ]]></query>
Timestamp Tuple 10 1, 0.5, 40.0, 8 1000 4, 0.7, 30.0, 6 1200 3, 0.89, 20.0, 12 2000 8, 0.4, 10.0, 4 h 8000 h 200000000
Timestamp Tuple Kind Tuple -9223372036854775808:+ 10: - 10: + NaN 1000: - NaN 1000: + 50.0 1200: - 50.0 1200: + 100.0 2000: - 100.0 2000: + 166.66666666666666
11.5 geometricMean
構文

目的
geometricMean
はcern.jet.stat.Descriptive.geometricMean(DoubleArrayList data)
に基づいています。入力引数のデータ列の幾何平均(図11-2を参照)をdouble
として返します。
図11-2 cern.jet.stat.Descriptive.geometricMean(DoubleArrayList data)

この関数は次のタプル引数を使用します。
-
double1
: データ値。
幾何平均が意味を成すには、最小のデータ値が0以下にならないようにしてください。
詳細については、以下を参照:
例
問合せqColtAggr6
について考えてみます。スキーマ(c1 integer, c2 float, c3 double, c4 bigint)
を持つデータ・ストリームSColtAggrFunc
の場合、この問合せはリレーションを返します。
<query id="qColtAggr6"><![CDATA[ select geometricMean(c3) from SColtAggrFunc ]]></query>
Timestamp Tuple 10 1, 0.5, 40.0, 8 1000 4, 0.7, 30.0, 6 1200 3, 0.89, 20.0, 12 2000 8, 0.4, 10.0, 4 h 8000 h 200000000
Timestamp Tuple Kind Tuple -9223372036854775808:+ 10: - 10: + 40.0 1000: - 40.0 1000: + 34.64101615137755 1200: - 34.64101615137755 1200: + 28.844991406148168 2000: - 28.844991406148168 2000: + 22.133638394006436
11.6 geometricMean1
構文

目的
geometricMean1
はcern.jet.stat.Descriptive.geometricMean(double sumOfLogarithms)
に基づいています。入力引数のデータ列の幾何平均(図11-3を参照)をdouble
として返します。
図11-3 cern.jet.stat.Descriptive.geometricMean1(int size, double sumOfLogarithms)

この関数は次のタプル引数を使用します。
-
double1
: データ値。
詳細については、以下を参照:
例
問合せqColtAggr7
について考えてみます。スキーマ(c1 integer, c2 float, c3 double, c4 bigint)
を持つデータ・ストリームSColtAggrFunc
の場合、この問合せはリレーションを返します。
<query id="qColtAggr7"><![CDATA[ select geometricMean1(c3) from SColtAggrFunc ]]></query>
Timestamp Tuple 10 1, 0.5, 40.0, 8 1000 4, 0.7, 30.0, 6 1200 3, 0.89, 20.0, 12 2000 8, 0.4, 10.0, 4 h 8000 h 200000000
Timestamp Tuple Kind Tuple -9223372036854775808:+ 10: - 10: + Infinity 1000: - Infinity 1000: + Infinity 1200: - Infinity 1200: + Infinity 2000: - Infinity 2000: + Infinity
11.7 harmonicMean
構文

目的
harmonicMean
は、cern.jet.stat.Descriptive.harmonicMean(int size, double sumOfInversions)
に基づいています。データ列の調和平均をdouble
として返します。
この関数は次のタプル引数を使用します。
-
double1
: データ値。
詳細については、以下を参照:
例
問合せqColtAggr8
について考えてみます。スキーマ(c3 double)
を持つデータ・ストリームSColtAggrFunc
の場合、この問合せはリレーションを返します。
<query id="qColtAggr8"><![CDATA[ select harmonicMean(c3) from SColtAggrFunc ]]></query>
Timestamp Tuple 10 5.441341838866902 1000 6.1593756700951054 1200 3.7269733222923676 1400 4.625160266213489 1600 3.490061774090248 1800 3.6354484064421917 2000 5.635401664977703 2200 5.006087562207967 2400 3.632574304861612 2600 7.618087248962962 h 8000 h 200000000
Timestamp Tuple Kind Tuple -9223372036854775808:+ 10: - 10: + 5.441341876983643 1000: - 5.441341876983643 1000: + 5.778137193205395 1200: - 5.778137193205395 1200: + 4.882442561720335 1400: - 4.882442561720335 1400: + 4.815475325819701 1600: - 4.815475325819701 1600: + 4.475541862878903 1800: - 4.475541862878903 1800: + 4.309563447664887 2000: - 4.309563447664887 2000: + 4.45944509362759 2200: - 4.45944509362759 2200: + 4.5211563834502515 2400: - 4.5211563834502515 2400: + 4.401525382790638 2600: - 4.401525382790638 2600: + 4.595562422157167
11.8 kurtosis
構文

目的
kurtosis
は、cern.jet.stat.Descriptive.kurtosis(DoubleArrayList data, double mean, double standardDeviation)
に基づいています。データ列の尖度(超過係数)(図11-4を参照)をdouble
として返します。
図11-4 cern.jet.stat.Descriptive.kurtosis(DoubleArrayList data, double mean, double standardDeviation)

この関数は次のタプル引数を使用します。
-
double1
: データ値。
詳細については、以下を参照:
例
問合せqColtAggr12
について考えてみます。スキーマ(c1 integer, c2 float, c3 double, c4 bigint)
を持つデータ・ストリームSColtAggrFunc
の場合、この問合せはリレーションを返します。
<query id="qColtAggr12"><![CDATA[ select kurtosis(c3) from SColtAggrFunc ]]></query>
Timestamp Tuple 10 1, 0.5, 40.0, 8 1000 4, 0.7, 30.0, 6 1200 3, 0.89, 20.0, 12 2000 8, 0.4, 10.0, 4 h 8000 h 200000000
Timestamp Tuple Kind Tuple -9223372036854775808:+ 10: - 10: + NaN 1000: - NaN 1000: + -2.0 1200: - -2.0 1200: + -1.5000000000000002 2000: - -1.5000000000000002 2000: + -1.3600000000000003
11.9 lag1
構文

目的
lag1
はcern.jet.stat.Descriptive.lag1(DoubleArrayList data, double mean)
に基づいています。データ・セットの自己相関lag - 1
をdouble
として返します。
ノート:
この関数のセマンティクスは「autoCorrelation」とは異なります。
この関数は次のタプル引数を使用します。
-
double1
: データ値。
詳細については、以下を参照:
例
問合せqColtAggr14
について考えてみます。スキーマ(c1 integer, c2 float, c3 double, c4 bigint)
を持つデータ・ストリームSColtAggrFunc
の場合、この問合せはリレーションを返します。
<query id="qColtAggr14"><![CDATA[ select lag1(c3) from SColtAggrFunc ]]></query>
Timestamp Tuple 10 1, 0.5, 40.0, 8 1000 4, 0.7, 30.0, 6 1200 3, 0.89, 20.0, 12 2000 8, 0.4, 10.0, 4 h 8000 h 200000000
Timestamp Tuple Kind Tuple -9223372036854775808:+ 10: - 10: + NaN 1000: - NaN 1000: + -0.5 1200: - -0.5 1200: + 0.0 2000: - 0.0 2000: + 0.25
11.10 mean
構文

目的
mean
はcern.jet.stat.Descriptive.mean(DoubleArrayList data)
に基づいています。データ列の算術平均(図11-5を参照)をdouble
として返します。
図11-5 cern.jet.stat.Descriptive.mean(DoubleArrayList data)

次の表に、入力の型および対応する出力の型を示します。
入力の型 |
出力の型 |
INT | DOUBLE |
BIGINT | DOUBLE |
FLOAT | DOUBLE |
DOUBLE | DOUBLE |
詳細については、以下を参照:
例
問合せqColtAggr16
について考えてみます。スキーマ(c1 integer, c2 float, c3 double, c4 bigint)
を持つデータ・ストリームSColtAggrFunc
の場合、この問合せはリレーションを返します。
<query id="qColtAggr16"><![CDATA[ select mean(c3) from SColtAggrFunc ]]></query>
Timestamp Tuple 10 1, 0.5, 40.0, 8 1000 4, 0.7, 30.0, 6 1200 3, 0.89, 20.0, 12 2000 8, 0.4, 10.0, 4 h 8000 h 200000000
Timestamp Tuple Kind Tuple -9223372036854775808:+ 10: - 10: + 40.0 1000: - 40.0 1000: + 35.0 1200: - 35.0 1200: + 30.0 2000: - 30.0 2000: + 25.0
11.11 meanDeviation
構文

目的
meanDeviation
はcern.jet.stat.Descriptive.meanDeviation(DoubleArrayList data, double mean)
に基づいています。データ・セットの平均偏差(図11-6を参照)をdouble
として返します。
図11-6 cern.jet.stat.Descriptive.meanDeviation(DoubleArrayList data, double mean)

この関数は次のタプル引数を使用します。
-
double1
: データ値。
詳細については、以下を参照:
例
問合せqColtAggr17
について考えてみます。スキーマ(c1 integer, c2 float, c3 double, c4 bigint)
を持つデータ・ストリームSColtAggrFunc
の場合、この問合せはリレーションを返します。
<query id="qColtAggr17"><![CDATA[ select meanDeviation(c3) from SColtAggrFunc ]]></query>
Timestamp Tuple 10 1, 0.5, 40.0, 8 1000 4, 0.7, 30.0, 6 1200 3, 0.89, 20.0, 12 2000 8, 0.4, 10.0, 4 h 8000 h 200000000
Timestamp Tuple Kind Tuple -9223372036854775808:+ 10: - 10: + 0.0 1000: - 0.0 1000: + 5.0 1200: - 5.0 1200: + 6.666666666666667 2000: - 6.666666666666667 2000: + 10.0
11.12 median
構文

目的
median
は、cern.jet.stat.Descriptive.median(DoubleArrayList sortedData)
に基づいています。ソートされたデータ列の中央値をdouble
として返します。
次の表に、入力の型および対応する出力の型を示します。
表11-2 入力と出力の型
入力の型 | 出力の型 |
---|---|
INT |
DOUBLE |
BIGINT |
DOUBLE |
FLOAT |
DOUBLE |
DOUBLE |
DOUBLE |
ノート:
入力値の型がINT
の場合は、戻り値の型もINT
になり、除算した値のfloorになります。
詳細については、以下を参照:
例
問合せqColtAggr18
について考えてみます。スキーマ(c1 integer, c2 float, c3 double, c4 bigint)
を持つデータ・ストリームSColtAggrFunc
の場合、この問合せはリレーションを返します。
<query id="qColtAggr18"><![CDATA[ select median(c3) from SColtAggrFunc ]]></query>
Timestamp Tuple 10 1, 0.5, 40.0, 8 1000 4, 0.7, 30.0, 6 1200 3, 0.89, 20.0, 12 2000 8, 0.4, 10.0, 4 h 8000 h 200000000
Timestamp Tuple Kind Tuple -9223372036854775808:+ 10: - 10: + 40.0 1000: - 40.0 1000: + 35.0 1200: - 35.0 1200: + 30.0 2000: - 30.0 2000: + 25.0
11.13 moment
構文

目的
moment
はcern.jet.stat.Descriptive.moment(DoubleArrayList data, int k, double c)
に基づいています。データ列の定数c
を持つk
番目の積率(図11-7を参照)をdouble
として返します。
図11-7 cern.jet.stat.Descriptive.moment(DoubleArrayList data, int k, double c)

この関数は次のタプル引数を使用します。
-
double1
: データ値。 -
int1
:k
。 -
double2
:c
。
詳細については、以下を参照:
例
問合せqColtAggr21
について考えてみます。スキーマ(c1 integer, c2 float, c3 double, c4 bigint)
を持つデータ・ストリームSColtAggrFunc
の場合、この問合せはリレーションを返します。
<query id="qColtAggr21"><![CDATA[ select moment(c3, c1, c3) from SColtAggrFunc ]]></query>
Timestamp Tuple 10 1, 0.5, 40.0, 8 1000 4, 0.7, 30.0, 6 1200 3, 0.89, 20.0, 12 2000 8, 0.4, 10.0, 4 h 8000 h 200000000
Timestamp Tuple Kind Tuple -9223372036854775808:+ 10: - 10: + 0.0 1000: - 0.0 1000: + 5000.0 1200: - 5000.0 1200: + 3000.0 2000: - 3000.0 2000: + 1.7045E11
11.14 pooledMean
構文

目的
pooledMean
はcern.jet.stat.Descriptive.pooledMean(int size1, double mean1, int size2, double mean2)
に基づいています。2つのデータ列の統合平均(図11-8を参照)をdouble
として返します。
図11-8 cern.jet.stat.Descriptive.pooledMean(int size1, double mean1, int size2, double mean2)

この関数は次のタプル引数を使用します。
-
double1
: 平均1。 -
double2
: 平均2。
詳細については、以下を参照:
例
問合せqColtAggr22
について考えてみます。スキーマ(c1 integer, c2 float, c3 double, c4 bigint)
を持つデータ・ストリームSColtAggrFunc
の場合、この問合せはリレーションを返します。
<query id="qColtAggr22"><![CDATA[ select pooledMean(c3, c3) from SColtAggrFunc ]]></query>
Timestamp Tuple 10 1, 0.5, 40.0, 8 1000 4, 0.7, 30.0, 6 1200 3, 0.89, 20.0, 12 2000 8, 0.4, 10.0, 4 h 8000 h 200000000
Timestamp Tuple Kind Tuple -9223372036854775808:+ 10: - 10: + 40.0 1000: - 40.0 1000: + 35.0 1200: - 35.0 1200: + 30.0 2000: - 30.0 2000: + 25.0
11.15 pooledVariance
構文

目的
pooledVariance
はcern.jet.stat.Descriptive.pooledVariance(int size1, double variance1, int size2, double variance2)
に基づいています。2つのデータ列の統合分散(図11-9を参照)をdouble
として返します。
図11-9 cern.jet.stat.Descriptive.pooledVariance(int size1, double variance1, int size2, double variance2)

この関数は次のタプル引数を使用します。
-
double1
: 分散1。 -
double2
: 分散2。
詳細については、以下を参照:
例
問合せqColtAggr23
について考えてみます。スキーマ(c1 integer, c2 float, c3 double, c4 bigint)
を持つデータ・ストリームSColtAggrFunc
の場合、この問合せはリレーションを返します。
<query id="qColtAggr23"><![CDATA[ select pooledVariance(c3, c3) from SColtAggrFunc ]]></query>
Timestamp Tuple 10 1, 0.5, 40.0, 8 1000 4, 0.7, 30.0, 6 1200 3, 0.89, 20.0, 12 2000 8, 0.4, 10.0, 4 h 8000 h 200000000
Timestamp Tuple Kind Tuple -9223372036854775808:+ 10: - 10: + 0.0 1000: - 0.0 1000: + 25.0 1200: - 25.0 1200: + 66.66666666666667 2000: - 66.66666666666667 2000: + 125.0
11.16 product
構文

目的
product
はcern.jet.stat.Descriptive.product(DoubleArrayList data)
に基づいています。データ列の積(図11-10を参照)をdouble
として返します。
図11-10 cern.jet.stat.Descriptive.product(DoubleArrayList data)

この関数は次のタプル引数を使用します。
-
double1
: データ値。
詳細については、以下を参照:
例
問合せqColtAggr24
について考えてみます。スキーマ(c1 integer, c2 float, c3 double, c4 bigint)
を持つデータ・ストリームSColtAggrFunc
の場合、この問合せはリレーションを返します。
<query id="qColtAggr24"><![CDATA[ select product(c3) from SColtAggrFunc ]]></query>
Timestamp Tuple 10 1, 0.5, 40.0, 8 1000 4, 0.7, 30.0, 6 1200 3, 0.89, 20.0, 12 2000 8, 0.4, 10.0, 4 h 8000 h 200000000
Timestamp Tuple Kind Tuple -9223372036854775808:+ 10: - 10: + 40.0 1000: - 40.0 1000: + 1200.0 1200: - 1200.0 1200: + 24000.0 2000: - 24000.0 2000: + 240000.0
11.17 quantile
構文

目的
quantile
は、cern.jet.stat.Descriptive.quantile(DoubleArrayList sortedData, double phi)
に基づいています。ファイの変位値、つまり、データ要素のファイ・パーセントがelem
未満である場合のelem
要素をdouble
として返します。
この関数は次のタプル引数を使用します。
-
double1
: データ値。 -
double2
: ファイ。割合を示します。0 <= phi <= 1
を満たす必要があります。
詳細については、以下を参照:
例
問合せqColtAggr26
について考えてみます。スキーマ(c1 integer, c2 float, c3 double, c4 bigint)
を持つデータ・ストリームSColtAggrFunc
の場合、この問合せはリレーションを返します。
<query id="qColtAggr26"><![CDATA[ select quantile(c3, c2) from SColtAggrFunc ]]></query>
Timestamp Tuple 10 1, 0.5, 40.0, 8 1000 4, 0.7, 30.0, 6 1200 3, 0.89, 20.0, 12 2000 8, 0.4, 10.0, 4 h 8000 h 200000000
Timestamp Tuple Kind Tuple -9223372036854775808:+ 10: - 10: + 40.0 1000: - 40.0 1000: + 36.99999988079071 1200: - 36.99999988079071 1200: + 37.799999713897705 2000: - 37.799999713897705 2000: + 22.000000178813934
11.18 quantileInverse
構文

目的
quantileInverse
は、cern.jet.stat.Descriptive.quantileInverse(DoubleArrayList sortedList, double element)
に基づいています。<= element
(0.0 <= phi <= 1.0
)である要素の割合ファイをdouble
として返します。element
が包含されておらず、包含される2つの要素間に存在する場合、この関数は線形補間を実行します。
この関数は次のタプル引数を使用します。
-
double1
: データ。 -
double2
:element
。
詳細については、以下を参照:
例
問合せqColtAggr27
について考えてみます。スキーマ(c1 integer, c2 float, c3 double, c4 bigint)
を持つデータ・ストリームSColtAggrFunc
の場合、この問合せはリレーションを返します。
<query id="qColtAggr27"><![CDATA[ select quantileInverse(c3, c3) from SColtAggrFunc ]]></query>
Timestamp Tuple 10 1, 0.5, 40.0, 8 1000 4, 0.7, 30.0, 6 1200 3, 0.89, 20.0, 12 2000 8, 0.4, 10.0, 4 h 8000 h 200000000
Timestamp Tuple Kind Tuple -9223372036854775808:+ 10: - 10: + 1.0 1000: - 1.0 1000: + 0.5 1200: - 0.5 1200: + 0.3333333333333333 2000: - 0.3333333333333333 2000: + 0.25
11.19 rankInterpolated
構文

目的
rankInterpolated
はcern.jet.stat.Descriptive.rankInterpolated(DoubleArrayList sortedList, double element)
に基づいています。指定されたelement
以下である、リスト内の線形補間された要素数をdoubleとして返します。
階数は<= element
である要素数です。階数の形式は{0, 1, 2,..., sortedList.size()}
です。<= element
である要素が存在しない場合、階数は0です。包含される2つの要素間に要素が存在する場合は、線形補間が使用され、整数以外の値が返されます。
この関数は次のタプル引数を使用します。
-
double1
: データ値。 -
double2
:element
。
詳細については、以下を参照:
例
問合せqColtAggr29
について考えてみます。スキーマ(c1 integer, c2 float, c3 double, c4 bigint)
を持つデータ・ストリームSColtAggrFunc
の場合、この問合せはリレーションを返します。
<query id="qColtAggr29"><![CDATA[ select rankInterpolated(c3, c3) from SColtAggrFunc ]]></query>
Timestamp Tuple 10 1, 0.5, 40.0, 8 1000 4, 0.7, 30.0, 6 1200 3, 0.89, 20.0, 12 2000 8, 0.4, 10.0, 4 h 8000 h 200000000
Timestamp Tuple Kind Tuple -9223372036854775808:+ 10: - 10: + 1.0 1000: - 1.0 1000: + 1.0 1200: - 1.0 1200: + 1.0 2000: - 1.0 2000: + 1.0
11.20 rms
構文

目的
rms
はcern.jet.stat.Descriptive.rms(int size, double sumOfSquares)
に基づいています。データ列の2乗平均平方根(RMS)(図11-11を参照)をdouble
として返します。
図11-11 cern.jet.stat.Descriptive.rms(int size, double sumOfSquares)

この関数は次のタプル引数を使用します。
-
double1
: データ値。
詳細については、以下を参照:
例
問合せqColtAggr30
について考えてみます。スキーマ(c1 integer, c2 float, c3 double, c4 bigint)
を持つデータ・ストリームSColtAggrFunc
の場合、この問合せはリレーションを返します。
<query id="qColtAggr30"><![CDATA[ select rms(c3) from SColtAggrFunc ]]></query>
Timestamp Tuple 10 1, 0.5, 40.0, 8 1000 4, 0.7, 30.0, 6 1200 3, 0.89, 20.0, 12 2000 8, 0.4, 10.0, 4 h 8000 h 200000000
Timestamp Tuple Kind Tuple -9223372036854775808:+ 10: - 10: + 40.0 1000: - 40.0 1000: + 35.35533905932738 1200: - 35.35533905932738 1200: + 31.09126351029605 2000: - 31.09126351029605 2000: + 27.386127875258307
11.21 sampleKurtosis
構文

目的
sampleKurtosis
は、cern.jet.stat.Descriptive.sampleKurtosis(DoubleArrayList data, double mean, double sampleVariance)
に基づいています。データ列の標本尖度(超過係数)をdouble
として返します。
この関数は次のタプル引数を使用します。
-
double1
: データ値。
詳細については、以下を参照:
例
問合せqColtAggr31
について考えてみます。スキーマ(c1 integer, c2 float, c3 double, c4 bigint)
を持つデータ・ストリームSColtAggrFunc
の場合、この問合せはリレーションを返します。
<query id="qColtAggr31"><![CDATA[ select sampleKurtosis(c3) from SColtAggrFunc ]]></query>
Timestamp Tuple 10 1, 0.5, 40.0, 8 1000 4, 0.7, 30.0, 6 1200 3, 0.89, 20.0, 12 2000 8, 0.4, 10.0, 4 h 8000 h 200000000
Timestamp Tuple Kind Tuple -9223372036854775808:+ 10: - 10: + NaN 1000: - NaN 1000: + NaN 1200: - NaN 1200: + NaN 2000: - NaN 2000: + -1.1999999999999993
11.22 sampleKurtosisStandardError
構文

目的
sampleKurtosisStandardError
は、cern.jet.stat.Descriptive.sampleKurtosisStandardError(int size)
に基づいています。標本尖度の標準誤差をdouble
として返します。
この関数は次のタプル引数を使用します。
-
int1
: データ値。
詳細については、以下を参照:
例
問合せqColtAggr33
について考えてみます。スキーマ(c1 integer, c2 float, c3 double, c4 bigint)
を持つデータ・ストリームSColtAggrFunc
の場合、この問合せはリレーションを返します。
<query id="qColtAggr33"><![CDATA[ select sampleKurtosisStandardError(c1) from SColtAggrFunc ]]></query>
Timestamp Tuple 10 1, 0.5, 40.0, 8 1000 4, 0.7, 30.0, 6 1200 3, 0.89, 20.0, 12 2000 8, 0.4, 10.0, 4 h 8000 h 200000000
Timestamp Tuple Kind Tuple -9223372036854775808:+ 10: - 10: + 0.0 1000: - 0.0 1000: + Infinity 1200: - Infinity 1200: + Infinity 2000: - Infinity 2000: + 2.6186146828319083
11.23 sampleSkew
構文

目的
sampleSkew
は、cern.jet.stat.Descriptive.sampleSkew(DoubleArrayList data, double mean, double sampleVariance)
に基づいています。データ列の標本歪度をdouble
として返します。
この関数は次のタプル引数を使用します。
-
double1
: データ値。
詳細については、以下を参照:
例
問合せqColtAggr34
について考えてみます。スキーマ(c1 integer, c2 float, c3 double, c4 bigint)
を持つデータ・ストリームSColtAggrFunc
の場合、この問合せはリレーションを返します。
<query id="qColtAggr34"><![CDATA[ select sampleSkew(c3) from SColtAggrFunc ]]></query>
Timestamp Tuple 10 1, 0.5, 40.0, 8 1000 4, 0.7, 30.0, 6 1200 3, 0.89, 20.0, 12 2000 8, 0.4, 10.0, 4 h 8000 h 200000000
Timestamp Tuple Kind Tuple -9223372036854775808:+ 10: - 10: + NaN 1000: - NaN 1000: + NaN 1200: - NaN 1200: + 0.0 2000: - 0.0 2000: + 0.0
11.24 sampleSkewStandardError
構文

目的
sampleSkewStandardError
は、cern.jet.stat.Descriptive.sampleSkewStandardError(int size)
に基づいています。標本歪度の標準誤差をdouble
として返します。
この関数は次のタプル引数を使用します。
-
double1
: データ値。
詳細については、以下を参照:
例
問合せqColtAggr36
について考えてみます。スキーマ(c1 integer, c2 float, c3 double, c4 bigint)
を持つデータ・ストリームSColtAggrFunc
の場合、この問合せはリレーションを返します。
<query id="qColtAggr36"><![CDATA[ select sampleSkewStandardError(c1) from SColtAggrFunc ]]></query>
Timestamp Tuple 10 1, 0.5, 40.0, 8 1000 4, 0.7, 30.0, 6 1200 3, 0.89, 20.0, 12 2000 8, 0.4, 10.0, 4 h 8000 h 200000000
Timestamp Tuple Kind Tuple -9223372036854775808:+ 10: - 10: + -0.0 1000: - -0.0 1000: + Infinity 1200: - Infinity 1200: + 1.224744871391589 2000: - 1.224744871391589 2000: + 1.01418510567422
11.25 sampleVariance
構文

目的
sampleVariance
はcern.jet.stat.Descriptive.sampleVariance(DoubleArrayList data, double mean)
に基づいています。データ列の標本分散(図11-12を参照)をdouble
として返します。
図11-12 cern.jet.stat.Descriptive.sampleVariance(DoubleArrayList data, double mean)

この関数は次のタプル引数を使用します。
-
double1
: データ値。
詳細については、以下を参照:
例
問合せqColtAggr38
について考えてみます。スキーマ(c1 integer, c2 float, c3 double, c4 bigint)
を持つデータ・ストリームSColtAggrFunc
の場合、この問合せはリレーションを返します。
<query id="qColtAggr38"><![CDATA[ select sampleVariance(c3) from SColtAggrFunc ]]></query>
Timestamp Tuple 10 1, 0.5, 40.0, 8 1000 4, 0.7, 30.0, 6 1200 3, 0.89, 20.0, 12 2000 8, 0.4, 10.0, 4 h 8000 h 200000000
Timestamp Tuple Kind Tuple -9223372036854775808:+ 10: - 10: + NaN 1000: - NaN 1000: + 50.0 1200: - 50.0 1200: + 100.0 2000: - 100.0 2000: + 166.66666666666666
11.26 skew
構文

目的
skew
はcern.jet.stat.Descriptive.skew(DoubleArrayList data, double mean, double standardDeviation)
に基づいています。データ列の歪度(図11-13を参照)をdouble
として返します。
図11-13 cern.jet.stat.Descriptive.skew(DoubleArrayList data, double mean, double standardDeviation)

この関数は次のタプル引数を使用します。
-
double1
: データ値。
詳細については、以下を参照:
例
問合せqColtAggr41
について考えてみます。スキーマ(c1 integer, c2 float, c3 double, c4 bigint)
を持つデータ・ストリームSColtAggrFunc
の場合、この問合せはリレーションを返します。
<query id="qColtAggr41"><![CDATA[ select skew(c3) from SColtAggrFunc ]]></query>
Timestamp Tuple 10 1, 0.5, 40.0, 8 1000 4, 0.7, 30.0, 6 1200 3, 0.89, 20.0, 12 2000 8, 0.4, 10.0, 4 h 8000 h 200000000
Timestamp Tuple Kind Tuple -9223372036854775808:+ 10: - 10: + NaN 1000: - NaN 1000: + 0.0 1200: - 0.0 1200: + 0.0 2000: - 0.0 2000: + 0.0
11.27 standardDeviation
構文

目的
standardDeviation
は、cern.jet.stat.Descriptive.standardDeviation(double variance)
に基づいています。分散からの標準偏差をdouble
として返します。
次の表に、入力の型および対応する出力の型を示します。
入力の型 |
出力の型 |
INT | DOUBLE |
BIGINT | DOUBLE |
FLOAT | DOUBLE |
DOUBLE | DOUBLE |
詳細については、以下を参照:
例
問合せqColtAggr44
について考えてみます。スキーマ(c1 integer, c2 float, c3 double, c4 bigint)
を持つデータ・ストリームSColtAggrFunc
の場合、この問合せはリレーションを返します。
<query id="qColtAggr44"><![CDATA[ select standardDeviation(c3) from SColtAggrFunc ]]></query>
Timestamp Tuple 10 1, 0.5, 40.0, 8 1000 4, 0.7, 30.0, 6 1200 3, 0.89, 20.0, 12 2000 8, 0.4, 10.0, 4 h 8000 h 200000000
Timestamp Tuple Kind Tuple -9223372036854775808:+ 10: - 10: + 0.0 1000: - 0.0 1000: + 5.0 1200: - 5.0 1200: + 8.16496580927726 2000: - 8.16496580927726 2000: + 11.180339887498949
11.28 standardError
構文

目的
standardError
はcern.jet.stat.Descriptive.standardError(int size, double variance)
に基づいています。データ列の標準誤差(図11-14を参照)をdouble
として返します。
図11-14 cern.jet.stat.Descriptive.cern.jet.stat.Descriptive.standardError(int size, double variance)

この関数は次のタプル引数を使用します。
-
double1
: データ値。
詳細については、以下を参照:
例
問合せqColtAggr45
について考えてみます。スキーマ(c1 integer, c2 float, c3 double, c4 bigint)
を持つデータ・ストリームSColtAggrFunc
の場合、この問合せはリレーションを返します。
<query id="qColtAggr45"><![CDATA[ select standardError(c3) from SColtAggrFunc ]]></query>
Timestamp Tuple 10 1, 0.5, 40.0, 8 1000 4, 0.7, 30.0, 6 1200 3, 0.89, 20.0, 12 2000 8, 0.4, 10.0, 4 h 8000 h 200000000
Timestamp Tuple Kind Tuple -9223372036854775808:+ 10: - 10: + 0.0 1000: - 0.0 1000: + 3.5355339059327378 1200: - 3.5355339059327378 1200: + 4.714045207910317 2000: - 4.714045207910317 2000: + 5.5901699437494745
11.29 sumOfInversions
構文

目的
sumOfInversions
はcern.jet.stat.Descriptive.sumOfInversions(DoubleArrayList data, int from, int to)
に基づいています。データ列の反転の合計(図11-15を参照)をdouble
として返します。
図11-15 cern.jet.stat.Descriptive.sumOfInversions(DoubleArrayList data, int from, int to)

この関数は次のタプル引数を使用します。
-
double1
: データ値。
詳細については、以下を参照:
例
問合せqColtAggr48
について考えてみます。スキーマ(c1 integer, c2 float, c3 double, c4 bigint)
を持つデータ・ストリームSColtAggrFunc
の場合、この問合せはリレーションを返します。
<query id="qColtAggr48"><![CDATA[ select sumOfInversions(c3) from SColtAggrFunc ]]></query>
Timestamp Tuple 10 1, 0.5, 40.0, 8 1000 4, 0.7, 30.0, 6 1200 3, 0.89, 20.0, 12 2000 8, 0.4, 10.0, 4 h 8000 h 200000000
Timestamp Tuple Kind Tuple -9223372036854775808:+ 10: - 10: + 0.025 1000: - 0.025 1000: + 0.058333333333333334 1200: - 0.058333333333333334 1200: + 0.10833333333333334 2000: - 0.10833333333333334 2000: + 0.20833333333333334
11.30 sumOfLogarithms
構文

目的
sumOfLogarithms
はcern.jet.stat.Descriptive.sumOfLogarithms(DoubleArrayList data, int from, int to)
に基づいています。データ列の対数の合計(図11-16を参照)をdouble
として返します。
図11-16 cern.jet.stat.Descriptive.sumOfLogarithms(DoubleArrayList data, int from, int to)

この関数は次のタプル引数を使用します。
-
double1
: データ値。
詳細については、以下を参照:
例
問合せqColtAggr49
について考えてみます。スキーマ(c1 integer, c2 float, c3 double, c4 bigint)
を持つデータ・ストリームSColtAggrFunc
の場合、この問合せはリレーションを返します。
<query id="qColtAggr49"><![CDATA[ select sumOfLogarithms(c3) from SColtAggrFunc ]]></query>
Timestamp Tuple 10 1, 0.5, 40.0, 8 1000 4, 0.7, 30.0, 6 1200 3, 0.89, 20.0, 12 2000 8, 0.4, 10.0, 4 h 8000 h 200000000
Timestamp Tuple Kind Tuple -9223372036854775808:+ 10: - 10: + 3.6888794541139363 1000: - 3.6888794541139363 1000: + 7.090076835776092 1200: - 7.090076835776092 1200: + 10.085809109330082 2000: - 10.085809109330082 2000: + 12.388394202324129
11.31 sumOfPowerDeviations
構文

目的
sumOfPowerDeviations
はcern.jet.stat.Descriptive.sumOfPowerDeviations(DoubleArrayList data, int k, double c)
に基づいています。データ列の累乗の偏差の合計(図11-17を参照)をdouble
として返します。
図11-17 cern.jet.stat.Descriptive.sumOfPowerDeviations(DoubleArrayList data, int k, double c)

この関数は、c == 0.0
、k == -2 .. 4
またはその両方などの一般的なパラメータ用に最適化されます。
この関数は次のタプル引数を使用します。
-
double1
: データ値。 -
int1
:k
。 -
double2
:c
。
詳細については、以下を参照:
例
問合せqColtAggr50
について考えてみます。スキーマ(c1 integer, c2 float, c3 double, c4 bigint)
を持つデータ・ストリームSColtAggrFunc
の場合、この問合せはリレーションを返します。
<query id="qColtAggr50"><![CDATA[ select sumOfPowerDeviations(c3, c1, c3) from SColtAggrFunc ]]></query>
Timestamp Tuple 10 1, 0.5, 40.0, 8 1000 4, 0.7, 30.0, 6 1200 3, 0.89, 20.0, 12 2000 8, 0.4, 10.0, 4 h 8000 h 200000000
Timestamp Tuple Kind Tuple -9223372036854775808:+ 10: - 10: + 0.0 1000: - 0.0 1000: + 10000.0 1200: - 10000.0 1200: + 9000.0 2000: - 9000.0 2000: + 6.818E11
11.32 sumOfPowers
構文

目的
sumOfPowers
はcern.jet.stat.Descriptive.sumOfPowers(DoubleArrayList data, int k)
に基づいています。データ列の累乗の合計(図11-18を参照)をdouble
として返します。
図11-18 cern.jet.stat.Descriptive.sumOfPowers(DoubleArrayList data, int k)

この関数は次のタプル引数を使用します。
-
double1
: データ値。 -
int1
:k
。
詳細については、以下を参照:
例
問合せqColtAggr52
について考えてみます。スキーマ(c1 integer, c2 float, c3 double, c4 bigint)
を持つデータ・ストリームSColtAggrFunc
の場合、この問合せはリレーションを返します。
<query id="qColtAggr52"><![CDATA[ select sumOfPowers(c3, c1) from SColtAggrFunc ]]></query>
Timestamp Tuple 10 1, 0.5, 40.0, 8 1000 4, 0.7, 30.0, 6 1200 3, 0.89, 20.0, 12 2000 8, 0.4, 10.0, 4 h 8000 h 200000000
Timestamp Tuple Kind Tuple -9223372036854775808:+ 10: - 10: + 40.0 1000: - 40.0 1000: + 3370000.0 1200: - 3370000.0 1200: + 99000.0 2000: - 99000.0 2000: + 7.2354E12
11.33 sumOfSquaredDeviations
構文

目的
sumOfSquaredDeviations
はcern.jet.stat.Descriptive.sumOfSquaredDeviations(int size, double variance)
に基づいています。データ列の2乗平均偏差の合計(図11-19を参照)をdouble
として返します。
図11-19 cern.jet.stat.Descriptive.sumOfSquaredDeviations(int size, double variance)

この関数は次のタプル引数を使用します。
-
double1
: データ値。
詳細については、以下を参照:
例
問合せqColtAggr53
について考えてみます。スキーマ(c1 integer, c2 float, c3 double, c4 bigint)
を持つデータ・ストリームSColtAggrFunc
の場合、この問合せはリレーションを返します。
<query id="qColtAggr53"><![CDATA[ select sumOfSquaredDeviations(c3) from SColtAggrFunc ]]></query>
Timestamp Tuple 10 1, 0.5, 40.0, 8 1000 4, 0.7, 30.0, 6 1200 3, 0.89, 20.0, 12 2000 8, 0.4, 10.0, 4 h 8000 h 200000000
Timestamp Tuple Kind Tuple -9223372036854775808:+ 10: - 10: + 0.0 1000: - 0.0 1000: + 25.0 1200: - 25.0 1200: + 133.33333333333334 2000: - 133.33333333333334 2000: + 375.0
11.34 sumOfSquares
構文

目的
sumOfSquares
はcern.jet.stat.Descriptive.sumOfSquares(DoubleArrayList data)
に基づいています。データ列の平方の合計(図11-20を参照)をdouble
として返します。
図11-20 cern.jet.stat.Descriptive.sumOfSquares(DoubleArrayList data)

この関数は次のタプル引数を使用します。
-
double1
: データ値。
詳細については、以下を参照:
例
問合せqColtAggr54
について考えてみます。スキーマ(c1 integer, c2 float, c3 double, c4 bigint)
を持つデータ・ストリームSColtAggrFunc
の場合、この問合せはリレーションを返します。
<query id="qColtAggr54"><![CDATA[ select sumOfSquares(c3) from SColtAggrFunc ]]></query>
Timestamp Tuple 10 1, 0.5, 40.0, 8 1000 4, 0.7, 30.0, 6 1200 3, 0.89, 20.0, 12 2000 8, 0.4, 10.0, 4 h 8000 h 200000000
Timestamp Tuple Kind Tuple -9223372036854775808:+ 10: - 10: + 1600.0 1000: - 1600.0 1000: + 2500.0 1200: - 2500.0 1200: + 2900.0 2000: - 2900.0 2000: + 3000.0
11.35 trimmedMean
構文

目的
trimmedMean
は、cern.jet.stat.Descriptive.trimmedMean(DoubleArrayList sortedData, double mean, int left, int right)
に基づいています。昇順にソートされたデータ列のトリム平均をdouble
として返します。
この関数は次のタプル引数を使用します。
-
double1
: データ値。 -
int1
:left
。 -
int2
:right
。
詳細については、以下を参照:
例
問合せqColtAggr55
について考えてみます。スキーマ(c1 integer, c2 float, c3 double, c4 bigint)
を持つデータ・ストリームSColtAggrFunc
の場合、この問合せはリレーションを返します。
<query id="qColtAggr55"><![CDATA[ select trimmedMean(c3, c1, c1) from SColtAggrFunc ]]></query>
Timestamp Tuple 10 0, 0.5, 40.0, 8 1000 0, 0.7, 30.0, 6 1200 0, 0.89, 20.0, 12 2000 1, 0.4, 10.0, 4 h 8000 h 200000000
Timestamp Tuple Kind Tuple -9223372036854775808:+ 10: - 10: + 40.0 1000: - 40.0 1000: + 35.0 1200: - 35.0 1200: + 30.0 2000: - 30.0 2000: + 25.0
11.36 variance
構文

目的
variance
はcern.jet.stat.Descriptive.variance(int size, double sum, double sumOfSquares)
に基づいています。データ列の分散(図11-21を参照)をdouble
として返します。
図11-21 cern.jet.stat.Descriptive.variance(int size, double sum, double sumOfSquares)

次の表に、入力の型および対応する出力の型を示します。
入力の型 |
出力の型 |
INT | DOUBLE |
BIGINT | DOUBLE |
FLOAT | DOUBLE |
DOUBLE | DOUBLE |
詳細については、以下を参照:
例
問合せqColtAggr57
について考えてみます。スキーマ(c1 integer, c2 float, c3 double, c4 bigint)
を持つデータ・ストリームSColtAggrFunc
の場合、この問合せはリレーションを返します。
<query id="qColtAggr57"><![CDATA[ select variance(c3) from SColtAggrFunc ]]></query>
Timestamp Tuple 10 1, 0.5, 40.0, 8 1000 4, 0.7, 30.0, 6 1200 3, 0.89, 20.0, 12 2000 8, 0.4, 10.0, 4 h 8000 h 200000000
Timestamp Tuple Kind Tuple -9223372036854775808:+ 10: - 10: + 0.0 1000: - 0.0 1000: + 25.0 1200: - 25.0 1200: + 66.66666666666667 2000: - 66.66666666666667 2000: + 125.0
11.37 weightedMean
構文

目的
weightedMean
はcern.jet.stat.Descriptive.weightedMean(DoubleArrayList data, DoubleArrayList weights)
に基づいています。データ列の加重平均(図11-22を参照)をdouble
として返します。
図11-22 cern.jet.stat.Descriptive.weightedMean(DoubleArrayList data, DoubleArrayList weights)

この関数は次のタプル引数を使用します。
-
double1
: データ値。 -
double2
: 加重値。
詳細については、以下を参照:
例
問合せqColtAggr58
について考えてみます。スキーマ(c1 integer, c2 float, c3 double, c4 bigint)
を持つデータ・ストリームSColtAggrFunc
の場合、この問合せはリレーションを返します。
<query id="qColtAggr58"><![CDATA[ select weightedMean(c3, c3) from SColtAggrFunc ]]></query>
Timestamp Tuple 10 1, 0.5, 40.0, 8 1000 4, 0.7, 30.0, 6 1200 3, 0.89, 20.0, 12 2000 8, 0.4, 10.0, 4 h 8000 h 200000000
Timestamp Tuple Kind Tuple -9223372036854775808:+ 10: - 10: + 40.0 1000: - 40.0 1000: + 35.714285714285715 1200: - 35.714285714285715 1200: + 32.22222222222222 2000: - 32.22222222222222 2000: + 30.0
11.38 winsorizedMean
構文

目的
winsorizedMean
は、cern.jet.stat.Descriptive.winsorizedMean(DoubleArrayList sortedData, double mean, int left, int right)
に基づいています。ソートされたデータ列のウィンザライズド平均をdouble
として返します。
この関数は次のタプル引数を使用します。
-
double1
: データ値。 -
int1
:left
。 -
int2
:right
。
詳細については、以下を参照:
例
問合せqColtAggr60
について考えてみます。スキーマ(c1 integer, c2 float, c3 double, c4 bigint)
を持つデータ・ストリームSColtAggrFunc
の場合、この問合せはリレーションを返します。
<query id="qColtAggr60"><![CDATA[ select winsorizedMean(c3, c1, c1) from SColtAggrFunc ]]></query>
Timestamp Tuple 10 1, 0.5, 40.0, 8 1000 0, 0.7, 30.0, 6 1200 1, 0.89, 20.0, 12 2000 1, 0.4, 10.0, 4 h 8000
Timestamp Tuple Kind Tuple -9223372036854775808:+ 10: - 10: + 40.0 1000: - 40.0 1000: + 35.0 1200: - 35.0 1200: + 30.000000000000004 2000: - 30.000000000000004 2000: + 25