揚聲器
|
成績單
|
| 豐富的n |
大家好,我叫 Rich Newman,是英特爾的統計學家。 今天我將介紹一個 JMP 腳本,該腳本使用 K 最近鄰方法確定同時 95% 的界限。 |
| |
本簡報由 Don Kent 共同撰寫,他也在英特爾工作,我們都住在新墨西哥州里奧蘭喬。 |
| |
我想透過激發問題來開始今天的演講,然後我將分享一些可能的解決方案,並最終確定我們採用的解決方案。 |
| |
在此過程中,我將提供一些圖表來幫助進一步說明要點,最後,我將展示我們用來解決問題的 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,由藍綠色線指定,然後我們找到組合以獲得黃色星形和紫色五邊形,這就是我們最壞的情況。 |
| |
現在我們對這種方法有一些擔憂。 第一個擔憂是 I 類錯誤率。 因此,當我發現阻力 1 的 95% 界限和阻力 95% 的界限時… |
| |
對於電容 1,請記住,我有八個變量,總的來說我知道我的置信水平,而不是 95%。 它是什麼,取決於變數的相關性。 |
| |
現在我們可以透過進行 alpha 調整來克服這個障礙,但是我想討論另一個障礙,這對我們來說是一個更大的擔憂。 |
| |
好吧,如果我們對這個黃色圓圈指定的高/高組合感興趣怎麼辦? |
| |
在這個特定的範例中,您可以看到我們沒有任何接近最壞情況邊界的數據,因此如果我們要使用它,這是非常保守的。 |
| |
當我們去設計我們的設備時,它將有一個與之相關的成本和時間元素,所以我們想要保守一點,但我們不想太保守以至於我們會使用這個黃色圓圈,因為我們確實沒有得到任何有關它的數據點。 |
| |
好的,我們希望考慮使用一些在 JMP 中可以輕鬆完成的替代方法來解決此問題,第一個方法是密度橢圓形。 |
| |
這是在 Y by X 平台上找到的,所以如果我在二元擬合上點擊紅色三角形,我可以選擇密度橢圓,在這種情況下,我選擇了 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 表中,我想在這個突出顯示中指出的第一件事,在這個綠色突出顯示中,對於所有八個變量,我們得到中位數、標準差,以及它是低端還是高端我們有興趣。 |
| |
因此,從那裡我們將建立所需的角點,因此它將是中值減去低側的三個標準差,中位數加上高側的三個標準差。 現在再次變成紫色,這是我們的目標角落。 |
| |
接下來我們要做的就是找到所有點的距離 |
| |
到那個想要的角落。 然後我們將在這個例子中找到最接近所需角點的五個點,這就是鄰域值。 它們將成為我們的五個值的向量。 我將在下一張投影片中對鄰域索引進行更多解釋。 |
| |
然後在藍色中,我們取這五個最近鄰居的平均值,這就是我們解決問題的方法。 因此,藍色的列是最壞情況的值,或者它們是我們用來幫助我們設計設備的最壞情況的值。 |
| |
現在我們這裡還有一個名為「鄰居Z 分數」的列,它的意思是,它採用鄰居平均值(我們的解決方案),並進行反向計算,看看它與中位數有多少標準差。 |
| |
我們這樣做的原因是因為我們最初的方法是大致採用這個中位數加或減三個標準差。 |
| |
我們發現,為了得到我們想要的東西,我們實際上可以使用更小的乘數。 所以這只是幫助我們了解我們目前的方法有多保守或過度保守。 除了幫助我們理解之外,它沒有用於任何計算。 |
| |
好吧,我提到了那些鄰居……對不起,鄰居索引。 所以在右上角我用紫色突出顯示了 109 和 126。 |
| |
這對應於資料的行。 因此,當您運行此外掛程式時,您將獲得 JMP 表。 |
| |
它會告訴你哪五行代表五個最近的鄰居, |
| |
並在您的原始資料集中選擇它們。 這樣做的好處是,它可以輕鬆地進行顏色編碼。 早些時候,我向您展示了黃色的示例,所以五個黃色和五個紫色。 |
| |
一旦您運行此加載項,只需在運行加載項後立即更改顏色就很容易了。 |
| |
好吧,這就是我們八個變數的輸出。 |
| |
您可以看到,綠點代表低電阻/高電容值,紅點代表高電阻/低電容值。 我只想指出該圖的右下部分我用紫色突出顯示的部分, |
| |
例如,您可以看到綠色和紅色點,它們不是任何給定變數的極值點,這就是這個問題的同時方面。 |
| |
它確實解決了所有八個變數的問題。 因此,對於某些變數來說,這可能是極端的,對於其他變數來說可能不是,但這對我們來說沒問題。 |
| |
但同樣......這樣做有助於理解變數之間的關係,這又會以圖形方式顯示我們的最終解決方案,我們最壞的情況......我們最壞情況的值。 |
| |
好的,如果我回到 BigClass 資料集只是為了說明該加載項,我想認識到這是一個小資料集。 這僅用於說明目的。 我可以運行腳本並詢問高/高側,我可以運行它並詢問低/低側。 |
| |
再次這樣做時,就像以前一樣,我將得到中位數和標準差。 我將用它來找到邊界。 |
| |
這就是我想要的角點,然後我將找到最接近該邊界的五個鄰居。 您可以看到,綠色是實際值,而這些值則以黃色和紫色繪製在圖表上。 |
| |
鄰居索引引用行,這使我能夠快速對資料進行顏色編碼。 |
| |
相鄰的平均值是我們的黃色星星和紫色五邊形,這將是我們解決問題的方法。 我們再次進行 Z 評分,以便我們在內部了解這種方法的保守程度。 |
| |
好的,現在我只想強調我們腳本的一些要點。 因此,當我們建立腳本時,您可以在右上角看到,您知道我們建立了這個面板框。 |
| |
淺藍色是我們要求使用者輸入變數的地方,這些變數是我們在高側找到的變數以及在低側找到的變數。 |
| |
在那種銅色中,這就是我們輸入百分位數的地方,這實際上是一個數字。 |
| |
您也可以在第 222 行和 223 行看到,這就是我們正在建立的召回函數。 |
| |
好吧,我們喜歡做的事情之一就是數據品質檢查,所以你知道我們希望它盡可能防錯,防錯。 |
| |
例如,您必須以數字形式輸入該置信度,然後我們進行檢查以確保它在 0 到 100 之間,否則用戶會收到錯誤訊息,表示他們需要更改輸入。 |
| |
同樣在底部,我們需要低列表或高列表中的某些內容才能運行它,因此我們進行這些數據檢查以確保已輸入某些內容。 |
| |
好吧,我們接下來要做的就是有一個叫做 sumcols 函數的東西。 |
| |
sumcols 函數的作用是循環遍歷過去的列。 所以,換句話說,它會獲取您輸入的低點和高點 |
| |
並傳回一個字典或關聯數組,其中包含一些對我們很重要的資訊。 所以如果我看右邊,右下角, |
| |
對不起,如果我看右下角,例如橙色,它將收集有關數據類型的信息, |
| |
有多少個數據點,中位數是多少,標準差是多少。 在紫色中,它將進行計算並獲得我們想要的 |
| |
角或目標角,我們稱之為邊界。 然後藍色的 AA 是我們的關聯數組,它帶來了所有資訊或儲存了我們下一步所需的所有資訊。 |
| |
好吧,我們從這裡開始計算這些距離。 所以你可以在藍色突出顯示中看到, |
| |
這是偏低的,如果你直接低於它,那就是偏高。 我們開始計算每個點到目標角點的距離。 |
| |
我們必須進行數學計算,你知道,正如之前所展示的,我們先求平方,然後取平方根,但本質上我們只是找到從點到三西格瑪的距離。 |
| |
然後在底部,我們將對它們進行排序,對這些距離進行排序,然後剔除我們需要的那些。 |
| |
我想用橙色突出顯示六、七和八。 |
| |
每當我們編寫腳本時,我們都會盡力徵求意見。 有時,不幸的是,當一個人正在編寫劇本時,他們會被拉去做其他事情,而其他人可以 |
| |
完成它,所以很高興收到這些評論,這樣其他人就可以接手並真正了解正在發生的事情。 |
| |
此外,很高興這些評論,即使你是唯一一個在做這件事的人,如果你必須回到它,你知道,幾年後,你會記得每一步都在做什麼。 所以我們盡力發表評論。 |
| |
好吧,最後,我們所做的是,你知道,我們遍歷低端和高端,然後在字典 j 中傳回一些值。 你可以看到藍色的,我們所做的就是去掉最小的鄰居,這就是輸出中出現的向量。 |
| |
然後我們取它們的平均值,這就是我們的解決方案;這就是橙色發生的事情。 舉個例子,我們用紫色表示 Z 分數。 因此,一旦我們獲得信息,所有這些距離,就會對它們進行排序, |
| |
然後我們提取出我們需要的資訊來建立一個我們的表。 |
| |
好吧,所以把所有這些放在一起。 我們的激勵問題是我們希望找到這些同時發生的最壞情況邊界來幫助我們設計設備,而我們目前的解決方案過於保守;這花費了我們金錢和時間。 |
| |
當我們去解決這個問題時,我們知道資料可能服從也可能不服從多元常態分佈,我們的資料不是獨立的。 |
| |
這種情況的頻率確實需要一個簡單的解決方案,最好使用 JMP,所以我們的解決方案 |
| |
我們的目標是建立一個易於使用的 JMP 插件,它使用 k 最近鄰概念,輸出很容易理解,它可以幫助我們快速建立那些可以進行顏色編碼的圖形,以便我們可以向其他人展示。 |
| |
好的,非常感謝。 |