PCA 的函數
PCA 演算法是實作在 PCA 和 PROJECT_PCA 儲存程序中。若要列印 PCA 模型,請使用 PRINT_MODEL 儲存程序。
PCA 演算法會將包含列中的觀察值以及直欄中的預測值的輸入表格,轉換成矩陣 A。若要尋找矩陣 A 的特徵向量,可利用奇異值分解 (SVD) 或特徵向量分解來分解矩陣 A。然後,這些特徵向量會儲存在對應的 PCA 模型中。
如果矩陣 A 條件不佳,例如,如果它是特異矩陣,則特徵值分解不會傳回結果。在此情況下,建議以 SVD 作為計算的替代選項。
所有儲存程序皆包含必要的單一字串參數,其包含 <parameter>=<value> 項目的配對。這些項目以逗點區隔。參數的資料類型為 VARCHAR(any)。
在每一個儲存程序的參數說明中,會列出有效的 <parameter>=<value> 項目。
如何處理空值
空值的處理視在計算主成分期間發現它們的位置而定。
輸入表格中的空值的處理方式如下列清單中所述。
- 空值包含在 id 直欄中。
- 會掃描輸入表格中相對應 id 直欄中的空值和重複值。如果發現空值或重複值,則演算法會停止。然後會顯示錯誤訊息。
- 此處理適用於 IDAX.PCA 儲存程序及 IDAX.PROJECT_PCA 儲存程序。
- 空值包含在任何輸入直欄中。
- 任何輸入直欄中的空值均無效。因此,會忽略輸入表格中有一個以上的輸入直欄包含空值的列。不顯示錯誤訊息。
- 對於 IDAX.PCA 儲存程序和 IDAX.PROJECT_PCA 儲存程序而言,如果輸入資料集的所有列都包含空值,則會認為輸入表格是空的。會顯示錯誤訊息。