5. 三維中最佳參考點之求法
5.2 尋找最少點集之方式
國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
39
5.2 尋找最少點集之方式
在說明三維中最少點之選取法則以前,先回顧一下二維中,郭俊佑選取最少 點集之方式。假定𝐼 ≤ 𝐽,最少點集的位置(以黑點表示)如表 5.1 所呈現:
表 5.1:二維中最少點集位置之選取
𝑖 𝑗 1 2 … 𝐼 − 1 𝐼 … 𝐽
1 ■ □ … □ □ … □
2 □ ■ … □ □ … □
… … … ⋱ … … …
𝐼 − 1 □ □ … ■ □ … □
𝐼 □ □ … □ ■ … ■
從表 5.1 可知,郭俊佑選取(1, 1), (2, 2), … , (𝐼, 𝐼), (𝐼, 𝐼 + 1), (𝐼, 𝐼 + 2), ⋯ , (𝐼, 𝐽 − 1), (𝐼, 𝐽)做最少的參考點集。
事實上,選取最少點集之方式並不唯一,只要每行選取一個並且每列也選取 一個,一共選取𝐽個點,這𝐽個點就形成最少點集。這𝐽個點的第一誤差及第二誤差,
就涵蓋了任何參考點的第一誤差及第二誤差。注意到,郭俊佑只使用𝐽個點,相 對地窮舉法卻需使用多達𝐼 × 𝐽個點,郭俊佑提出的方法與窮舉法相比,尋找最佳 參考點的時間約為
I
1
倍。回顧二維的結果之後,則在三維之中,選取最少點集之方式,其過程詳述如 後。為了方便起見,假設𝐼 ≤ 𝐽 ≤ 𝐾。把參考點(𝑖, 𝑗, 𝑘)看成大小為𝐼 × 𝐽 × 𝐾三維矩 陣的元素,在不同𝑘值下,我們逐層選取部分的點做參考點集。在𝑘 = 1時,仿照
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
40
郭俊佑在二維上選取參考點集之方式,選取(1, 1, 1), (2, 2, 1), … , (𝐼, 𝐼, 1), (𝐼, 𝐼 + 1, 1), (𝐼, 𝐼 + 2, 1), ⋯ , (𝐼, 𝐽 − 1, 1), (𝐼, 𝐽, 1)做參考點集,這些參考點集的位置(以黑 點表示)如表 5.2 所呈現:
表 5.2:𝑘 = 1時參考點集位置之選取
𝑖 𝑗 1 2 … 𝐼 − 1 𝐼 … 𝐽
1 ■ □ … □ □ … □
2 □ ■ … □ □ … □
… … … ⋱ … … …
𝐼 − 1 □ □ … ■ □ … □
𝐼 □ □ … □ ■ … ■
接著,在𝑘 = 2時,選取(1, 2, 2), (2, 3, 2), … , (𝐼, 𝐼 + 1, 2), (𝐼, 𝐼 + 2, 2), (𝐼, 𝐼 + 3, 2), …, (𝐼, 𝐽, 2), (𝐼, 1, 2)做參考點集,這些參考點集的位置(以黑點表示)如表 5.3 所呈 現:
表 5.3: 𝑘 = 2時參考點位置的選取
𝑖 𝑗 1 2 3 … 𝐼 𝐼 + 1 … 𝐽
1 □ ■ □ … □ □ … □
2 □ □ ■ … □ □ … □
… … … … ⋱ … … …
𝐼 − 1 □ □ □ … ■ □ … □
𝐼 ■ □ □ … □ ■ … ■
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
41
從表 5.2 與表 5.3 中,可以看出表 5.3 中參考點位置的選取方式,是將表 5.2 中黑 點的𝑗值與𝑘值分別增加1,但部分參考點的𝑗值可能因此會超出𝐽,故需將該參考 點的𝑗值做適當的調整。為了方便列出所選取的參考點與將來程式設計所需,我 們引入符號〈 ∙ 〉與[ ∙ ],定義如下:
【定義 5.1】給定正整數𝐼與𝐽,則
〈𝑠〉 ≡ {𝑠 , 𝑠 ≤ 𝐼 𝐼 , 𝑠 > 𝐼; [𝑡] ≡ {𝑡 𝑚𝑜𝑑 𝐽 , 𝑡 𝑚𝑜𝑑 𝐽 ≠ 0
𝐽 , 𝑡 𝑚𝑜𝑑 𝐽 = 0, 其中𝑠與𝑡皆為非負整數。
利用定義 5.1,在𝑘 = 2時,參考點集位置之選取方式可表示成(〈1〉, [2], 2), (〈2〉,[3], 2), … , (〈I〉, [𝐼 + 1], 2), (〈𝐼 + 1〉, [𝐼 + 2], 2), (〈𝐼 + 2〉, [𝐼 + 3], 2), … , (〈𝐽 − 1〉, [𝐽], 2), (⟨𝐽 ⟩, [𝐽 + 1], 2),即:
{(〈𝑠〉, [𝑡], 2) | 𝑡 = 𝑠 + 1, 𝑠 = 1, … , 𝐽}.
依此類推,在𝑘 = 3時,參考點集位置之選取方式為:
{(〈𝑠〉, [𝑡], 3) | 𝑡 = 𝑠 + 2, 𝑠 = 1, … , 𝐽}.
最後,在𝑘 = 𝐾時,參考點集位置之選取方式為:
{(〈𝑠〉, [𝑡], 𝐾) | 𝑡 = 𝑠 + 𝐾 − 1, , 𝑠 = 1, … , 𝐽}.
因此,從大小為𝐼 × 𝐽 × 𝐾的三維矩陣中,我們逐層挑選出𝐽個點做參考點集,
一共有𝐽 × 𝐾個點,此即為最少點法之參考點集(簡稱最少點集),以集合表示為:
{(〈𝑠〉, [𝑡], 𝑘) | 𝑡 = 𝑠 + 𝑘 − 1, 𝑠 = 1, … , 𝐽, 𝑘 = 1, … , 𝐾}.
我們將最少點集之位置,各層整理如表 5.4 所呈現:
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
42
表 5.4:三維中最少點集之位置
𝑘 = 1 (〈1〉, [1], 1), (〈2〉, [2], 1), ⋯ , (〈𝐽 − 1〉, [𝐽 − 1], 1), (〈𝐽〉, [𝐽], 1) 𝑘 = 2 (〈1〉, [2], 2), (〈2〉, [3], 2), ⋯ , (〈𝐽 − 1〉, [𝐽], 2), (〈𝐽〉, [𝐽 + 1], 2)
… …
𝑘 = 𝑛 (〈1〉, [𝑛], 𝑛), (〈2〉, [𝑛 + 1], 𝑛), ⋯ , (〈𝐽 − 1〉, [𝐽 + 𝑛 − 2], 𝑛), (〈𝐽〉, [𝐽 + 𝑛 − 1], 𝑛)
… …
𝑘 = 𝐾 (〈1〉, [𝐾], 𝐾), (〈2〉, [𝐾 + 1], 𝐾), ⋯ , (〈𝐽 − 1〉, [𝐽 + 𝐾 − 2], 𝐾), (〈𝐽〉, [𝐽 + 𝐾 − 1], 𝐾)
我們以例六來說明如何選取最少點集。
【例六】(沿續例三)
因條件機率矩陣大小為3 × 4 × 5,根據表 5.4,最少點集之位置,各層整理 如表 5.5 所呈現:
表 5.5:例六中參考點集位置之選取 𝑘 = 1 (1, 1, 1), (2, 2, 1), (3, 3, 1), (3, 4, 1) 𝑘 = 2 (1, 2, 2), (2, 3, 2), (3, 4, 2), (3, 1, 2) 𝑘 = 3 (1, 3, 3), (2, 4, 3), (3, 1, 3), (3, 2, 3) 𝑘 = 4 (1, 4, 4), (2, 1, 4), (3, 2, 4), (3, 3, 4) 𝑘 = 5 (1, 1, 5), (2, 2, 5), (3, 3, 5), (3, 4, 5)
表 5.5 中一共有20個參考點,各層參考點的位置如表 5.6 所呈現:
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
43
表 5.6:例六中各層最少點集位置之選取
𝑘 = 1
𝑖 𝑗 1 2 3 4 1 ■ □ □ □ 2 □ ■ □ □ 3 □ □ ■ ■
𝑘 = 2
𝑖 𝑗 1 2 3 4 1 □ ■ □ □ 2 □ □ ■ □ 3 ■ □ □ ■
𝑘 = 3
𝑖 𝑗 1 2 3 4 1 □ □ ■ □ 2 □ □ □ ■ 3 ■ ■ □ □
𝑘 = 4
𝑖 𝑗 1 2 3 4 1 □ □ □ ■ 2 ■ □ □ □ 3 □ ■ ■ □
𝑘 = 5
𝑖 𝑗 1 2 3 4 1 ■ □ □ □ 2 □ ■ □ □ 3 □ □ ■ ■
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
44
我們可以想像由𝐼 × 𝐽 × 𝐾個小立方體所組成的長方體中,選取𝐽 × 𝐾個小立
方體(代表參考點位置),並把所選取到的小立方體塗黑,則最少點法所選到的
小立方體會使得分別從𝐼 × 𝐽面、𝐽 × 𝐾面以及𝐼 × 𝐾面來看都是黑的。從例六中,
我們可以清楚看出所選取的最少點集,分別從三個面來看確實都是黑的。
事實上,選取最少點集之方式並不唯一,只要選出的𝐽 × 𝐾個小立方體使得分 別從𝐼 × 𝐽面、𝐽 × 𝐾面以及𝐼 × 𝐾面來看皆為黑色即可。最少點法的好處是,不需 要像窮舉法一樣,對每一個點逐點計算總誤差,由總誤差最小值找出最佳參考點。
注意到,最少點法只使用了𝐽 × 𝐾個點,相對地窮舉法需使用多達𝐼 × 𝐽 × 𝐾個點,
最少點法比起窮舉法來講,尋找最佳參考點的時間約為 I
1
倍。‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
45
5.3 模擬與實例探討
在條件分配不相容時,我們希望找出最佳的近似聯合分配,這時候參考點的 選擇就很重要。根據 5.2 節所找出的最少點集,利用電腦軟體 Matlab(8.3)我們 設計出程式檔 minpts.m 來處理尋找最佳參考點以及最佳近似聯合分配之問題。
minpts.m 程式一共分三部分,第一部分:在所有最少點集上的參考點,分別執行 geoe1.m、geoe2.m 及 geoe3.m,計算出所選取之參考點的第一誤差、第二誤差及 第三誤差。第二部分:利用第一誤差、第二誤差及第三誤差決定出任意參考點的 總誤差。第三部分:得出最佳參考點以及對應的第一誤差、第二誤差、第三誤差、
總誤差、執行時間,並執行 geoajt.m 計算出最佳近似聯合分配。minpts.m 程式碼 與操作方式參考附錄 6。在本節中,我們用模擬與實際的例子來說明該程式檔執 行的情況。
【例七】(沿續例六)
在執行 minpts.m 後,得最佳參考點為(1, 4, 3),第一誤差為0.570779,第二 誤 差 為0.185294 , 第 三 誤 差 為0.162017 , 總 誤 差 為0.918091 , 執 行時間 為 0.025625秒,以上誤差與時間的數值結果為四捨五入到小數點第六位。以及,最 佳近似聯合分配之各層矩陣機率值如表 5.7 所呈現:
表 5.7:例七的最佳近似聯合分配
註:機率矩陣數值結果為四捨五入到小數點第六位。
𝑃
𝑍 = 1 [
0.014130 0.016315 0.009991 0.019982 0.028259 0.011765 0.015860 0.019982 0.012588 0.019047 0.020378 0.014130
]
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
46
表 5.7:例七的最佳近似聯合分配(續)
註:機率矩陣數值結果為四捨五入到小數點第六位。
【例八】(沿續例五)
在執行 minpts.m 後,得最佳參考點為(2, 2, 1),第一誤差為0.001246,第二 誤差為0.001003,第三誤差為0.000071,總誤差為0.002319,執行時間0.015625 秒,以上誤差與時間的數值結果為四捨五入到小數點第六位。以及,咖啡量、吸 菸量及是否有心血管疾病的最佳近似聯合分配之各層矩陣值如表 5.8 所呈現:
表 5.8:例八的最佳近似聯合分配
註:機率矩陣數值結果為四捨五入到小數點第六位。
𝑃
𝑍 = 2 [
0.014130 0.011537 0.019982 0.009991 0.014130 0.013206 0.010001 0.019982 0.017820 0.013206 0.026184 0.009991
]
𝑍 = 3 [
0.009991 0.019982 0.009991 0.009991 0.009991 0.000991 0.009991 0.019982 0.019982 0.019982 0.019982 0.009991
]
𝑍 = 4 [
0.009991 0.016315 0.009991 0.019982 0.019982 0.023531 0.022897 0.019982 0.015860 0.021379 0.015860 0.019982
]
𝑍 = 5 [
0.014130 0.019982 0.019982 0.019982 0.011226 0.017474 0.025176 0.019982 0.017820 0.019982 0.026184 0.019982
]
𝑃
𝑍 = 1 [0.009018 0.006613 0.009018 0.015030] 𝑍 = 2 [0.444594 0.098653
0.247782 0.169292]
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
47
從表 5.8 中可知,利用最少點法,可有效地找出咖啡量、吸菸量以及是否有 心血管疾病的最佳近似聯合分配,即找到一個最佳的機率模型來表示這三者的關 係。
事實上,利用 minpts.m 程式也可以檢驗條件分配的相容性,透過計算最少 點集上的各項誤差,我們就能決定出任何參考點的總誤差。如果這些參考點集上 的總誤差都是0,則給定的條件分配即為相容。因此,在找最佳參考點的過程中,
我們也可以使用此程式檢驗相容性是否成立。此程式的好處在於隨機變數可能值 的個數即使很龐大,都可以有效地找出最佳的近似聯合分配。我們在下一節中,
將與窮舉法比較最少點法的不同。
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
48