揚聲器
|
成績單
|
| 豐富的 |
大家好,我叫 Rich Newman,是英特爾的一名統計學家。 今天,我將介紹一個 JMP 腳本,該腳本使用 K-最近鄰方法確定同時 95% 的界限。 |
| |
此演示文稿由 Don Kent 共同撰寫,他也在英特爾工作,我們倆都位於新墨西哥州的 Rio Rancho。 |
| |
我想從激發問題開始今天的演講,然後我將分享一些可能的解決方案,並最終確定我們採用的解決方案。 |
| |
在此過程中,我將提供一些圖表來幫助進一步說明要點,最後,我將展示我們用來解決問題的 JMP 插件和一些說明腳本的屏幕截圖。 |
| |
我們正在設計一個設備,我們需要知道我們看到的最壞情況下的一組四電阻和四電容值是多少。 |
| |
對我們來說最壞的情況被定義為低電阻/高電容和高電阻/低電容組合。 所以為了清楚起見, |
| |
我們有八個變量,我們可能需要四個低電阻值和四個高電容值的同時界限,所以我們可以用它來幫助我們設計設備。 最壞的情況可以定義為 95% 的置信度或 99% 的置信度,最終取決於用戶。 |
| |
好吧,為了說明這個問題,讓我們只使用一個電阻和一個電容值。 所以我在 X 軸上有電阻,在 Y 軸上有電容,我們想知道兩件事。 我們想知道那顆黃星,最糟糕的 |
| |
低電阻/高電容組合,我們想知道紫色五邊形,高電阻/低電容組合。 |
| |
好吧,關於我們的問題,我想指出我們承認這八個變量,這八個響應不是獨立的。 它們之間有一些相關性。 |
| |
此外,這些響應中的每一個可能或可能不遵循正態分佈或多元正態分佈。 |
| |
我們經常問這些類型的問題。 所以換句話說,我們不想解決這個問題一次就完成它,並且永遠不會再處理它。 我們被問到這些問題 |
| |
通常,因此我們確實需要一個易於使用的強大解決方案。 在我們的案例中,我們很幸運,我們往往擁有相對較大的數據集,至少 400 個點,而且我們通常有 |
| |
1,000 點。 對我們來說,只要背後有一些統計方法,一個實用的解決方案就可以工作。 所以如果我回到之前的圖表,我不會在那個圖表上扔飛鏢然後說,無論它落在哪裡, |
| |
這將是我們最壞的情況。 你真的想要更多的肉,但我確實想指出,我們不一定有最壞情況的定義,無論是 99% 還是 95。 |
| |
我們只知道稍微保守一點會更好,以確保我們設計的設備能夠真正發揮作用並且在未來不會出現任何問題。 |
| |
好的,我想分享一個完全虛構的例子,只是為了說明這種類型的問題可能發生在任何行業。 |
| |
因此,想像一下我們為教室製作了可調節的課桌,我們希望我們的課桌能夠為 99% 的人使用。 |
| |
一個人的高度和一個人的寬度。 |
| |
現在,當您擁有 JMP 時,它會附帶一些示例數據,其中一個數據集稱為 BigClass。 在 BigClass 中,它有 |
| |
那裡的一些學生以及他們的身高和體重。 因此,我們可以使用該數據集來幫助我們確定 99% 人口的身高和體重範圍。 |
| |
因此,如果我查看右下角的這張圖表,我們會看到這些點代表......每個點代表一個學生的身高和體重組合。 |
| |
好吧,如果我回到我們的問題, |
| |
我們認為可以改進的當前方法是我們獨立地找到電阻和電容的 95% 或 99% 的預測界限。 |
| |
在這個例子中,我只看一個電阻和一個電容,我們會找到兩個獨立的界限。 |
| |
例如,我們會發現阻力位的 95% 預測界限,即 4.52 和 4.97,由深藍色線表示。 |
| |
然後我們會找到電容的 95% 預測平衡,即 15.6 和 16.5,由綠藍色線表示,然後我們找到組合得到黃色星形和紫色五邊形,這是最壞的情況。 |
| |
現在我們對這種方法有點擔心。 第一個問題是第一類錯誤率。 因此,當我發現阻力 1 的 95% 界限和阻力界限的 95% 時... |
| |
對於電容 1,請記住,我有八個變量,總的來說我知道我的置信水平,而不是 95%。 它是什麼,將取決於變量的相關性。 |
| |
現在我們可以通過進行 alpha 調整來克服這個障礙,但我想討論另一個障礙,它對我們來說有點更大的擔憂。 |
| |
好吧,如果我們對這個黃色圓圈指定的高/高組合感興趣怎麼辦? |
| |
在這個特定的例子中,你可以看到我們沒有任何數據接近這個最壞情況的界限,所以如果我們要使用這個,這是非常保守的。 |
| |
當我們去設計我們的設備時,它會有一個成本和時間因素與之相關,所以我們想要保守一點,但我們不想太保守以至於我們會使用這個黃色圓圈,因為我們真的沒有得到任何數據點。 |
| |
好的,有一些替代方法可以在 JMP 中輕鬆完成,我們想考慮作為解決此問題的方法,第一個是密度橢圓。 |
| |
這是在 X 平台擬合 Y 中找到的,所以如果我在二元擬合上點擊那個紅色三角形,我可以選擇密度橢圓,在這種情況下,我選擇了 95% 的橢圓。 我得到了圖表上的那個紅色橢圓。 |
| |
好吧,當 JMP 提供此密度橢圓時,如果您查看演示文稿的右下角,它會顯示兩個變量的平均標準差和相關性。 |
| |
JMP 沒有提供的是橢圓方程。 現在,這是我們可以克服的障礙。 我們只需要做一些數學運算就可以解決它。 |
| |
但是更大的障礙是如果你有兩個以上的變量會發生什麼? 在這種情況下,JMP 沒有簡單的選擇 |
| |
為我們解決這個問題。 所以我們可以做成對的橢圓,或者一次只做兩個變量,但是我們會遇到同樣的 alpha 問題,而且很難挑選出我們想用什麼點作為我們的 ???。 |
| |
現在在這種方法中還有一個非常小的問題是如果我們對那個高/高角或那個黃色圓圈感興趣怎麼辦? 我們選擇橢圓上的哪個點? |
| |
再說一次,我認為這是一個我們可以克服的障礙……但是這兩個……當我們有兩個以上的變量時,這是一個非常棘手的障礙。 我們不確定它是否容易解決。 |
| |
好吧,還有另一種方法我們可以……我們可以……這在 JMP 中很容易完成,這就是主要組件。 |
| |
主成分的作用是創建新變量,JMP 將它們標記為 Prin 1 和 Prin 2, |
| |
使得新變量相互正交。 它們是正交的,我們可以用來幫助我們解決最壞情況的界限。 |
| |
而這在多變量方法平台中可以找到,所以如果你去分析,多變量方法,主成分,我們可以要求這些主成分。 |
| |
現在對主成分方法的關注是,當有兩個以上的變量時,數學是非常困難的。 |
| |
此外,從理論上講,主成分試圖降低維數,換句話說,如果我有八個變量,我想嘗試同時找到最壞的情況......同時限制, |
| |
但 JMP 可能會回來說,好吧,我們找到了三個真正有助於解釋正在發生的事情的主要原則。 |
| |
在那種情況下,我們有三個方程,我們有這八個未知數,這確實使我們難以解決問題。 因此,出於這個原因,我們不會使用這種主成分方法。 |
| |
那麼,我們將何去何從? 所以我們的目標是找到同時出現的最壞情況界限,即高/高、低/高或低/低/高/高組合。 |
| |
我們想使用...我們想使用 JMP 來幫助我們解決問題。 它必須能夠處理三個或更多變量。 |
| |
每個變量可能正常,也可能不正常。 我們預計會有一些相關性。 好消息是我們往往擁有相對較大的數據集。 |
| |
我們想確保如果我們要求這個角落,如果你願意的話,那裡有數據,我們不會陷入沒有數據的情況。 同樣,一個簡單實用的解決方案可能就足夠了。 |
| |
好的,所以我現在要做的是解釋一個概念,然後我將向您展示如何使用該概念來解決我們的問題。 |
| |
所以有一個概念叫做K-最近鄰方法,這個想法是,你有一個點,你會找到從那個點到其他點的距離。 |
| |
然後確定該點的 k 最近鄰,或最短距離的 k 個點。 因此,為了理解這一點,讓我們看一個例子。 所以讓我們專注於以紅色突出顯示的那個點......那個深紅色和它的坐標是 |
| |
4.51 和 15.66。 如果我將該點設為藍色,坐標為 4.67 和 15.54,我可以找到這些點之間的距離。 |
| |
或者最近鄰居的想法是紅色的那個點,我可以在數據集中的每個其他點上找到該點的距離。 |
| |
然後我可以從最小到最大對距離進行排序,然後我可以挑選出我想要的那些。 |
| |
因此,例如,如果我想知道 k=2 時,兩個點與紅色點最近的兩個點,我看到它們是粉紅色的兩個點,它們是最接近的點重做。 |
| |
好的,所以我現在要做的是討論解決方案,然後......在高層次上,然後我將放慢速度並逐步完成。 所以我們的解決方案是基於,如果你有一個大數據集, |
| |
我們可以首先找到每個變量的中位數 +/-3 標準差(我想指出,您也可以使用 mmean), |
| |
在這樣做的過程中,我們定義了我們所謂的目標角,或我們想要的角,這是最低的最高……基於每個變量的高點越低。 |
| |
然後,我們要做的是找到每個點到目標角的距離,我們將從最小到最大的距離排序, |
| |
並且,就我們的需求而言(我將在下一張幻燈片中對此進行更多解釋),我們將 k 最近鄰帶到目標角落。 通常,您可以收集代表所需置信度的 k 鄰居。 我將在稍後再解釋一下。 |
| |
然後我們要做的是,我們取 k 鄰居的平均值,這成為我們的解決方案。 |
| |
好的,這裡的想法是我們從兩個變量開始,我們找到平均值 +/-...對不起,中值 +/-3 標準差,我們也可以使用平均值。 |
| |
在這樣做的過程中,我們稱這些為我們的目標角,所以如果我對低角/高角感興趣,五角大樓中黃色星星的高低角,它們開始時就是我們所說的她定義的目標角。 |
| |
下一步是我們獲取所有數據點,並找到從數據集中每個點到目標角的距離。 |
| |
一旦我們得到這些距離,我們就會從最小到最大對它們進行排序。 |
| |
然後,在這個特定的例子中,我們找到最接近目標角的 k 最近鄰。 所以就像一個例子,你可以看到黃色的五個點 |
| |
是離黃色星星最近的五個點,紫色的五個點是離紫色五邊形最近的點。 |
| |
然後我們要做的是,我們分別取這五個點的平均值,這樣做,這些黑色橢圓代表我們將用作最壞情況值的值。 |
| |
然後我們將使用它來幫助我們設計我們的設備。 |
| |
現在我想向你展示那些相對於密度橢圓和這些目標角的點,黃色星形和紫色五邊形就是我們最初的方法。 |
| |
我們可以看到密度橢圓還不錯,它們變得更好了一點。 這個特殊解決方案的真正好處是我們在它們附近有數據點,這正是它的設計。 |
| |
此外,這對我們來說並不太保守,所以如果您願意,我們不必支付這筆額外費用,當我們設計設備時,我們不必擔心數據的分佈。 相關性實際上並不關心我們如何解決我們的問題。 |
| |
好吧,假設您對高/高和低/低邊界、淺藍色五邊形或深藍色星星感興趣。 這種方法也有效。 |
| |
你在黑色橢圓中看到的,我們的解決方案,是我們這裡有數據點。 |
| |
所以,對我們來說,這是一個很好的方法,因為,特別是相對於我們目前的方法,它並不太保守。 它可能有點保守,但不像這個五邊形和星星那麼保守。 |
| |
好的,早些時候,我對我們如何處理它進行了一些評論,並且有一些選擇,所以我現在想討論 K 的選擇,我們應該平均嗎? |
| |
對我來說,K 可能取決於你的信心水平、樣本量和你的理念,讓我解釋一下。 |
| |
舉個例子,假設我有 1,000 個數據點,我希望有 95% 的信心。 |
| |
在這種情況下,我可以取兩個角的第 25 個最接近的距離,這將是低側或低/高側的 2.5% 和另一側的 22.5%,我已經捕獲了我的 95%信心。 |
| |
所以我可以取第 25 個最近的距離並完成。 這是一種方法。 我也可以取第 23、24、25、26 和 27 距離,然後取平均值。 |
| |
並取五個值的平均值並將其用作一種方法。 所以有幾種不同的方法可以處理它。 |
| |
在我們的特殊需求中,我們有非常大的樣本量,我們希望有點保守,我們不受 95% 或 99% 的置信度驅動。 所以就像說明的目的, |
| |
右側圖表上的那些橙色圓圈,例如,它們可能代表 95% 的置信區間,它可能只是五個點的平均值,或者可能是第 25 個最接近的距離,例如。 |
| |
我們要做的不是使用這種方法,而是取前 25 個點的平均值,這樣做我們會得到黑色橢圓,你可以看到它們正在向外移動,它正在生成保守一點。 |
| |
所以我們通過設計來做到這一點,更保守一點。 |
| |
再一次,這是一個選擇,對我們來說,好的是它不像我們目前的方法那樣保守,所以我們在那裡有一點保守的性質,但我們並不是非常保守。 |
| |
好吧。 那麼這種方法的優缺點是什麼? 積極的一面是我們不需要知道變量的分佈。 |
| |
我們可以輕鬆處理一些相關或因變量,我們可以輕鬆處理多個變量,尤其是兩個以上。 |
| |
我們知道有接近該解決方案的數據,其中一部分取決於大數據量,我們可以在 JMP 的插件中構建腳本以輕鬆執行計算。 |
| |
不利的是,它確實需要一個相當大的數據集,因為如果你想要 99% 的置信水平作為例子,一個真正的高置信水平,你真的需要大量的數據。 |
| |
好的,這就是我們的插件的樣子,這個用戶界面,所以你在左上角有可能的變量。 |
| |
然後在你輸入的高邊,例如,我們想要阻力的高值,那是綠色突出顯示。 如果我去紫色突出顯示,我們可以在低端添加一些值,所以在這個例子中,我們會說我們想要低電容組合。 |
| |
那麼接下來你要做的就是輸入你想要的信心。 |
| |
我們有一個召回按鈕,這對人們來說非常方便。 |
| |
然後我們有我們的團隊標誌,這使項目看起來漂亮和專業。 |
| |
好的,一旦你運行這個插件,它就會觸發腳本並且輸出將是一個 JMP 表。 |
| |
在這個 JMP 表中,我想在這個突出顯示的綠色突出顯示中指出的第一件事是對於所有八個變量,我們得到中位數、標準差,以及它是低端還是高端我們感興趣。 |
| |
所以從那裡我們將建立所需的角落,所以它是中值減去三個標準偏差的低邊和中值加上三個標準偏差的高邊。 現在又是紫色,這是我們的目標角落。 |
| |
然後我們要做的下一件事是找到所有點的距離 |
| |
到那個想要的角落。 然後我們將在這個例子中找到最接近所需角的五個點,這就是鄰域值。 它們將成為我們的五個值的向量。 鄰域指數,我將在下一張幻燈片中解釋更多。 |
| |
然後在藍色中,我們取這五個最近鄰居的平均值,這成為我們解決問題的方法。 所以藍色的那一列是最壞情況值,或者它們是我們用來幫助我們設計設備的最壞情況值。 |
| |
現在我們在這裡還有一個名為 Neighbor Z-score 的列,也就是說,它採用鄰居平均值,我們的解決方案,並且向後工作,看看它與中位數有多少標準偏差。 |
| |
我們這樣做的原因是因為我們最初的方法是大致取這個中位數加或減三個標準差。 |
| |
我們發現,為了得到我們想要的,我們實際上可以使用一個小得多的乘數。 所以這只是幫助我們了解我們當前的方法是多麼保守或過於保守。 除了幫助我們理解之外,它沒有用於任何計算。 |
| |
好吧,我提到了那些鄰居……對不起,鄰居索引。 所以在右上角,我用紫色突出顯示了 109 和 126。 |
| |
這對應於數據的行。 因此,當您運行此插件時,您將獲得 JMP 表。 |
| |
它會告訴你哪五行代表五個最近的鄰居, |
| |
並在您的原始數據集中選擇它們。 這樣做的好處是,它使著色代碼變得容易。 所以早些時候,我向你展示了黃色的例子,所以五個黃色和五個紫色。 |
| |
一旦你運行這個插件就很容易改變顏色......在運行插件之後。 |
| |
好的,這就是我們的八個變量的輸出。 |
| |
你可以看到,綠點代表低電阻/高電容值,紅點代表高電阻/低電容值。 我只想在這張圖的右下角指出我用紫色突出顯示的部分, |
| |
例如,您可以看到綠色和紅色點,它們不是任何給定變量的極端點,這就是這個問題的同時方面。 |
| |
它確實解決了所有八個變量的問題。 因此,對於某些變量,這可能是極端的,對於其他變量可能不是,這對我們來說很好。 |
| |
但是再次......這樣做有助於理解我們的變量之間的關係,這將再次以圖形顯示我們的最終解決方案是什麼,我們最壞的情況......我們最壞的情況值。 |
| |
好的,如果我回到那個 BigClass 數據集只是為了說明加載項,我想認識到這是一個小數據集。 這僅用於說明目的。 我可以運行腳本並要求高/高端,我可以運行它並要求低/低端。 |
| |
像以前一樣再次這樣做,我將獲得中位數和標準差。 我要用它來尋找界限。 |
| |
那是我想要的角落,然後我會找到最接近那個邊界的五個鄰居。 您可以看到綠色,這些是實際值,並且在圖表上以黃色和紫色繪製。 |
| |
鄰居索引指的是行,這使我可以快速對數據進行顏色編碼。 |
| |
鄰居平均值是我們的黃色星星和紫色五邊形,這將是我們解決問題的方法。 我們再次進行 Z 分數,以便我們在內部對這種方法的保守程度有一個想法。 |
| |
好的,在這一點上,我只想強調我們腳本的一些要點。 因此,當我們構建腳本時,您可以在右上角看到,您知道我們構建了這個面板框。 |
| |
淺藍色,這就是我們要求用戶輸入變量的地方……我們在高邊找到變量,在低邊找到變量。 |
| |
在那種銅色中,這就是我們輸入百分位數的地方,這實際上是一個數字。 |
| |
您還可以在第 222 和 223 行看到,這就是我們正在構建的召回功能。 |
| |
好的,我們喜歡做的一件事是數據質量檢查,所以你知道我們希望它盡可能地防錯,防錯。 |
| |
因此,例如,您必須將置信水平輸入為數字,然後我們進行檢查以確保它在 0 到 100 之間,否則用戶會收到一條錯誤消息,提示他們需要更改輸入。 |
| |
同樣在底部,我們需要低列表或高列表中的某些內容才能運行它,因此我們進行這些數據檢查以確保輸入了某些內容。 |
| |
好的,接下來我們要做的是有一個叫做 sumcols 函數的東西。 |
| |
sumcols 函數的作用是遍歷過去的列。 因此,換句話說,它正在獲取您輸入的低點和高點 |
| |
並返回一個字典或關聯數組,其中包含一些對我們很重要的信息。 所以如果我看右邊,右下角, |
| |
對不起,如果我看右下角,例如橙色,它將收集有關數據類型的信息, |
| |
有多少數據點,中位數是多少,標準差是多少。 在紫色中,它將進行計算並得到我們想要的 |
| |
角落或目標角落,我們將稱之為界限。 然後是藍色的 AA,這是我們的關聯數組,它帶來了所有信息或存儲了我們下一步需要的所有信息。 |
| |
好吧,我們從這裡開始計算這些距離。 所以你可以在藍色高光中看到, |
| |
那是偏低的,如果你從它下面走,那是偏高的。 我們開始尋找從每個點到目標角的距離。 |
| |
我們必須做數學,你知道,這在前面顯示,我們在平方然後取平方根,但本質上我們只是找到從點到三個西格瑪的距離。 |
| |
然後在底部,我們將完成對它們進行排序的過程,對這些距離進行排序,然後挑選出我們需要的那些。 |
| |
我想用橙色突出顯示,六、七和八。 |
| |
每當我們編寫腳本時,我們都會盡最大努力發表評論。 有時,不幸的是,當一個人在編寫腳本時,他們會被拉到其他事情上,而其他人可以 |
| |
完成它,所以很高興有這些評論,所以其他人可以接管並真正了解發生了什麼。 |
| |
此外,很高興這些評論,即使你是唯一一個致力於它的人,如果你必須回到它,你知道,多年後,你記得每一步都在做什麼。 因此,我們盡最大努力發表評論。 |
| |
好吧,最後,我們所做的是,你知道,我們遍歷低端和高端,並在字典 j 中返回一些值。 你可以看到藍色,我們所做的是我們提取最小的鄰居,這就是輸出中出現的那個向量。 |
| |
然後我們取它們的平均值,這就是我們的解決方案;這是橙色的。 舉個例子,紫色是我們的 Z 分數。 所以一旦我們得到信息,所有這些距離,已經對它們進行了排序, |
| |
然後我們提取我們需要的信息,然後構建一個屬於我們的表。 |
| |
好吧,所以把所有這些放在一起。 我們的動機問題是我們想找到這些同時出現的最壞情況界限來幫助我們設計設備,而我們目前的解決方案過於保守;它花費我們的金錢和時間。 |
| |
而當我們去解決這個問題時,我們知道數據可能服從也可能不服從多元正態分佈,我們的數據不是獨立的。 |
| |
而且這種頻率確實需要一個簡單的解決方案,最好使用 JMP,所以我們的解決方案 |
| |
是構建一個易於使用的 JMP 插件,它使用 k 近鄰概念,輸出易於理解,它幫助我們快速構建那些我們可以用顏色編碼的圖表,以便我們可以展示給其他人。 |
| |
好的,非常感謝。 |