相關性算子可以計算兩組數據的相關系數,用于分析這兩組數據的變化趨勢是否存在關聯關系。
相關性算子
只支持華東2(上海)地域。
相關性算子支持最大數據量為1000萬行。
用于離線調度的相關性算子。
計算兩組數據的相關系數r。兩組數據之間的相關程度通過相關系數r來表示。相關系數r的取值范圍是-1~1。兩組數據正相關時,r值在0~1范圍;兩組數據負相關時,r值在-1~0范圍。
函數格式
SELECT correlation_analysis_pair(Col_1,Col_2,method)
輸入參數
method:必填。JSON類型。
'pearson'
:皮爾森相關(Pearson),適用于變量是連續型變量(又稱等間隔測度變量)。'spearman'
:斯皮爾曼相關(Spearman):適合于有序變量或不滿足正態分布假設的等間隔數據。'kendall'
:肯德爾相關(Kendall),適合于有序變量或不滿足正態分布假設的等間隔數據。
Col_1
:必選。double或int類型。分析的目標列。Col_2
:必選。double或int類型。被觀測的指標列
輸出參數
string
:string類型。輸出格式[r,p]
。r是相關性系數, double或int類型,范圍是-1~1。r的絕對值越接近1,兩組數據的相關性越強。
p是假設檢驗的顯著性值, double或int類型。
假設檢驗分為假設和檢驗,首先假定原假設為真,然后通過樣本數據檢驗原假設是否成立。
確定原假設和備擇假設。原假設是兩組數據沒有相關性,備擇假設是兩組數據有相關性。
確定顯著性水平。顯著性水平代表了,原假設為真的情況下,拒絕原假設的概率。在實踐中一般選顯著性水平為0.05。
計算p值。p值代表在原假設成立的情況下,計算得到的相關系數或絕對值更大的相關性系數出現的概率。
當概率p小于顯著性水平0.05時,這個概率非常小,意味著樣本數據或更極端數據的出現是不可能事件。因此我們有足夠的理由拒絕原假設,認為這兩組數據存在相關性。當p大于等于顯著性水平0.05時,我們接受原假設,認為這兩組數據不存在相關性。
函數示例一
-- 示例1:
SELECT correlation_analysis_pair(num1,num2,'spearman')
FROM table
-- 示例2:
SELECT correlation_analysis_pair(num1,num2,method)
FROM VALUES
(0.3,1,'pearson')
,(0.9,2,'pearson')
,(2.7,3,'pearson')
,(2,4,'pearson')
,(3.5,5,'pearson')
,(5,6,'pearson') t(num1,num2,method)
;
函數示例二
在物聯網場景中,設備傳感器會采集各種維度的數據,這些數據指標可能具有相關性。識別出數據指標間的相關性有助于探索分析數據的特征,也是后續建立模型的基礎。
下載經過處理的油液溫度和黏度數據。例如油液的溫度和黏度具有高度相關性。在油液品質穩定時,油液的溫度和黏度的變化趨勢是相反的。因為溫度和黏度均為連續數據,采用pearson方法。
SELECT correlation_analysis_pair(num1,num2,'pearson')
FROM correlation_analysis_case_test;
輸出[r,p]=[-0.94, 0.0]
。r = -0.94
說明溫度和黏度數據明顯負相關。p=0
說明兩組數據的相關性非常顯著。下圖為某種油液的溫度-黏度示意圖。