| 揚聲器 |
抄本 |
| C惠特曼 |
好的。非常感謝大家參加我的演講。我叫 Charlie Whitman,在 Corvo 工作,今天我將分享如何在 JMP 中使用 R 進行階梯應力建模。 |
| |
首先,我先來介紹一下。我會簡單介紹一下壓力測試,它是什麼,以及我們為什麼要做它。 |
| |
有兩種基本類型。一種是恆定壓力,一種是階躍壓力;我會分別講一下。然後,當我們從階躍壓力或恆定壓力測試的結果中得出 |
| |
是模型參數的估計值。這就是我們進行預測所需要的。因此,在壓力測試中,我們會對壓力非常大的部分施加壓力,然後利用這些數據推斷實際使用情況,而我們需要模型參數來實現這一點。 |
| |
但模型參數只是故事的一半。我們還必須承認,這些估計值中存在一些不確定性,我們將利用置信區間來解決這個問題,我將討論我用來解決這個問題的自舉法。 |
| |
最終, |
| |
有了最大似然估計和引導信賴區間,我們就可以建立一個所謂的安全操作區, |
| |
SOA,有點像是可靠性圖。你也可以把它想像成一個響應面。所以我們要做的是…找到哪些區域可以安全操作你的零件,哪些區域不安全。然後我會得出一些結論。 |
| |
那麼,什麼是壓力測試呢?在壓力測試中,你會對零件施加壓力,直到其失效。有時你不會失敗;有時你需要啟動、停止測試,然後執行其他操作。 |
| |
在這種情況下,你有一個感測器資料點,但模擬中使用的最大似然法會將感測器考慮在內,因此不必擔心 100% 的故障。我們可以承受某些部件不會發生故障。 |
| |
所以你要做的就是根據一些設計好的實驗、矩陣之類的東西,在各種條件下對這些部分進行壓力測試。所以你可以運行 |
| |
您的壓力可能是溫度、功率、電壓或類似的東西,您將在各種條件、各種壓力下運行您的零件,然後獲取適合您的模型的數據,然後推斷使用條件。 |
| |
mu = InA + 空氣/kT。 |
| |
Mu 是分佈的對數平均;我們通常使用對數常態分佈。它等於常數項加上溫度項。 |
| |
可以看出,mu 與溫度成反比。因此,溫度升高,mu 下降;溫度下降,mu 上升。如果我們使用對數常態分佈,還會有一個額外的參數,即形狀因子 sigma。 |
| |
因此,在運行測試之後,我們會在非常緊張的條件下運行幾個部件,並將它們擬合到我們的模型中。然後,當你將這兩者結合起來,你就可以預測使用條件下的行為,這才是真正的遊戲規則。 |
| |
最常用的方法是恆定應力測試,基本上,應力在測試期間是固定的。這只是一個例子。這裡有一張溫度與時間的關係圖。 |
| |
如果溫度非常低,那麼可能會出現持續性的故障……有時會持續很長時間。 |
| |
失效時間可能是隨機的,同樣遵循對數常態分佈。如果我們將溫度升高到更高的水平, |
| |
我們會得到故障時間分佈的結束,但平均而言,故障時間會更短。 |
| |
如果我們進一步提高溫度,情況也一樣,但故障時間會更短。所以我可以做的是,如果我在不同的溫度下運行一堆零件,我可以把結果擬合成一個機率圖,就像這樣。 |
| |
這裡我繪製了最高溫度下的機率與失效時間的關係。本例中溫度為攝氏 330 度,我設定了一組失效時間,並將其設定為對數常態分佈。隨著溫度越來越低,失效時間也越來越長。 |
| |
然後,我把所有這些溫度數據擬合到阿倫尼烏斯模型中,並進行外推。這樣,我就能在實際使用條件下得到預測結果。這就是我們想要的。 |
| |
我想指出的是,當我們進行這些加速測試時,我們必須在非常高的壓力下運行,因為,例如, |
| |
即使這持續了 1000 個小時左右,我們預測該零件在使用條件下的壽命將達到 10 億小時,而且我們不可能 |
| |
運行測試長達十億小時。因此,我們必須在合理的時間內完成測試,這就是我們進行加速測試的原因。 |
| |
那麼,什麼是階躍應力呢?嗯,正如你可能想像的那樣,階躍應力是指逐步增加應力 |
| |
或者某種斜坡。這樣做的好處是可以節省時間。正如我在上一個圖中展示的那樣, |
| |
這些測試可能持續很長時間,可能長達1000小時。也就是說,測試可能需要幾週甚至幾個月才能結束。階躍壓力測試 |
| |
時間可能會短得多,或者你可能幾小時或幾天就能完成。所以這確實能節省時間。但分析起來比較困難,我馬上就會示範。 |
| |
我們在 Corvo 所做的工作,就是測試聲學濾波器的可靠性,而這些濾波器就是射頻設備。所以,射頻中的應力指的是射頻功率。 |
| |
因此,我們不斷加大力度,直至失敗。 |
| |
所以如果我們要提高功率,我們可以用這個表達式來建模。基本上,我們有和阿倫尼烏斯方程式一樣的公式,但我們添加了另一個項,n log p。 |
| |
N 是功率加速度參數;p 是功率。因此,對於對數常態分佈,會有第四個參數 sigma,即形狀因數。所以,有 1、2、3、4 個參數。 |
| |
讓我舉一個簡單的例子來說明它是什麼樣子的。 |
| |
一開始,這是功率與時間的關係。功率單位是 dBm。你從某個功率(例如 33.5 dBm)開始,一步一步,直到你希望失敗為止。 |
| |
我想指出的是 |
| |
功率會發生變化,隨著施加到零件的功率增加,溫度也會隨之變化。所以,功率增加,溫度也會跟著改變。所以,功率和溫度就混淆了。 |
| |
所以你必須以能夠區分溫度和功率影響的方式來進行實驗。我想指出的是 |
| |
有兩個術語(溫度和功率),所以不僅僅是我增加零件的功率,它就會變熱,而是溫度在驅動它。功率本身也會增加故障率。 |
| |
好的。現在我可以更詳細地展示一下階躍應力圖。 |
| |
這裡又是一個功率與時間的關係。我先用某個功率運行一個部件,比如說五個小時,然後增加壓力,再運行五個小時,繼續增加壓力,直到部件失效。 |
| |
所以,如我所提到的,隨著功率的增加,溫度也會升高。所以我必須考慮到這一點。我必須知道 |
| |
t = T 環境 + R 第乘以 p |
| |
T ambient 是環境溫度;P 是功率;R th 稱為熱阻抗,它是一個常數。這意味著,當我設定功率時,我知道功率是多少,然後我就可以估算出每一步的溫度。 |
| |
因此,我們想要做的就是以某種方式獲取從階躍應力模式中獲得的這些失效時間,並將其推斷到使用條件。 |
| |
如果我只是在這裡運行時間 delta t |
| |
我想推斷一下,如果要使用條件,我會做的是…乘以…得到等效時間增量 t 乘以加速度因子。這是加速度因子。我有一個活化能項、溫度項和一個功率項。 |
| |
所以我會把它乘以 AF。因為我是從高壓力到低壓力,所以 AF 大於 1,這只是為了舉例說明,它並沒有比 1 大很多,但你明白我的意思。 |
| |
隨著我增加功率,溫度和功率也在變化,因此 AF 也會隨著每一步而變化。 |
| |
所以如果我想得到實際使用條件下的等效時間,我必須做一個加法運算。所以我得到了每個部分。 |
| |
它有自己的加速度因子,或許還有自己的時間增量。然後我做一個加法,就得到了等效時間。 |
| |
所以,如果我確切知道Ea和n,我就能用這個表達式來預測設備時間,這樣我就能預測等效時間。這就是我的想法。 |
| |
所以結果…正如我所說,溫度和功率是混淆的。為了估算,我們必須在兩個不同的環境溫度下運行 |
| |
如果環境溫度足夠低,那麼您實際上可以分離功率和溫度的影響。 |
| |
你還需要至少兩個升溫速率。所以至少需要一個由升溫速率和環境溫度組成的二乘二矩陣。 |
| |
在我做的模擬中,我選擇了三種不同的速率,如下所示。我以 dBm 為單位繪製了功率與壓力時間的關係 |
| |
我有三種不同的升溫方式,但升溫速率也不同。升溫速率分別為快速、中速和慢速。在實際操作中,你會讓它一直持續下去,直到失敗,但我只是在幾個小時後隨意地停止了它。你看,我這裡也有一個上限。 |
| |
上限是四;因為我們發現,如果我們任意增加壓力或功率,我們就可以改變故障機制。 |
| |
你要做的就是確保加速條件下的故障機制與使用條件下的故障機制相同。如果我改變 |
| |
我無法對故障機制進行推論。這種推斷是無效的。 |
| |
因此,我們將這裡的上限設為 34.4 dBm,甚至為自己留一點緩衝,以確保不會接近這個值。 |
| |
因此,我們的環境溫度是 45 攝氏度,我們以 33.5 dBm 的功率啟動它,因此我們也會得到另一組條件 |
| |
135度。你看,這裡的模式是一樣的。我們有一個上限,他們有一個緩衝區,等等,只是我們的起始功率較低。所以現在低於32 dBm,而之前超過33 dBm。 |
| |
我們這樣做的原因是,如果我們不降低這種較高溫度下的功率,那麼如果不小心,幾乎會立即出現故障,然後就無法使用數據進行推斷。 |
| |
好的,我們需要一個等效時間的表達式,就像我之前展示的那樣。這個表達式是這樣的。 |
| |
有點棘手,我不知道如何從第一原理推導出等效使用時間條件分佈的表達式。所以,當遇到這種比較難的問題時,我選擇使用引導法。 |
| |
那麼,什麼是引導呢? |
| |
所以,透過引導法,我們所做的就是對資料集進行多次重複採樣。這意味著,從原始觀測資料集中,你可以得到原始資料集的重複數據,或者某個觀測資料可能不會完全出現。 |
| |
我使用的方法稱為非參數方法,因為我們不假設分佈。我們不需要知道數據的潛在分佈。 |
| |
所以,當你產生這麼多的引導樣本時,你就能得到參數的近似分佈,從而進行統計推論。具體來說,我們感興趣的是設定置信區間。這就是我們需要做的。 |
| |
一個最簡單的自舉法例子叫做百分位數自舉法。例如,假設我想要某個估計值的信心區間是 90%。 |
| |
我會做很多很多引導重複,並從每個引導樣本中提取參數。然後對其進行排序,找出向量的偏移量和第 95 個百分位數,這些就構成了我的 90% 置信區間。 |
| |
我在工作中實際做的是使用了一種改進百分位數的技術,稱為BCa,即偏差校正和加速技術。 |
| |
偏差是因為有時我們的估計是有偏差的,而這種方法會考慮到這一點。 |
| |
加速,不幸的是,「加速」這個詞在這裡很容易讓人混淆。它與加速測試無關,而是與方法有關,而方法與調整有關。 |
| |
分佈的偏度。但最終你會得到 |
| |
它會為你選擇不同的百分位數值。所以,對於百分位技術,我們有第五和第九十五。 |
| |
引導法或BCa引導法可能會給出不同的結果,例如第三個百分位數和96%或其他值。這些就是你需要選擇的90%信賴區間。 |
| |
因此,我只想透過一個非常簡單的例子來清楚地說明這一點。 |
| |
假設我有 10 個觀測值,我想用它們進行引導抽樣,如下所示。例如,第一個觀測值 24.93 在第一個樣本中出現了兩次,在第二個樣本中出現了一次,等等。 |
| |
25.06 出現兩次。 25.89 完全不出現,在這種情況下我可以這樣做 100 次 |
| |
然後,對於每個引導樣本,我會求平均值,比如說,我對平均值的分佈感興趣。好了,這裡我得到了平均值的分佈。 |
| |
我可以看看它是什麼樣子的。我們到了。 |
| |
它看起來呈鐘形,我在這裡突出顯示了幾個點,如果我使用百分位數技術,這些將是我的 90% 置信區間。 |
| |
這是排序後的向量,第五個百分位數是 25.84,第 95 個百分位數是 27.68。 |
| |
如果我想用BCa方法,我可能會得到一些不同的百分位數。所以這個例子是25.78和27.73。所以 |
| |
很快,BCa 方法是什麼。在我們的例子中,我們會有樣本… |
| |
我們會根據壓力模式來引導。你會有多個樣本,這些樣本會在不同的壓力模式下運作和模擬,然後 |
| |
用這些方法進行引導。這樣我們就能得到先前估計值或先前參數的分佈,即 logA、EA 和 sigma |
| |
正確的。 |
| C惠特曼 |
再次重申一下,這是我們的等式。 |
| |
再次強調,JMP |
| |
我現有的 JMP 版本不支援引導法。 JMP Pro 支持,但我現有的版本不支持,不過幸運的是,R 支持引導法。而且我可以在 JMP 內部呼叫 R。這就是我選擇這種方式的原因。所以我 |
| |
我可以,但R會做所有艱苦的工作。所以我想證明 |
| |
舉個例子,我選擇了一些已知的logA、EA和sigma的真實值。這些值是隨機在一定範圍內選取的。 |
| |
然後我會選擇這些參數多次取相同的值,每次都會產生樣本。例如,我三次選擇-28.7作為logA true,並且 |
| |
我們從中獲取數據。每個測試級別總共有五個部件,或者說六個測試級別,如果你還記得的話,三個坡道,兩種不同的溫度,六個級別,六乘以五等於30。 |
| |
因此,測試總共運行了 30 個部分,並且查看 logA 帽,最大似然估計值約為 28 左右。 |
| |
所以這實際上效果很好。我可以看看…現在,對於我的下一個樣本,我在這裡做了三次重複實驗,例如,減去5.7,當我運行我的方法,得到最大值時,結果大約在減去5.7左右。所以這個方法看起來效果很好。 |
| |
但讓我們更詳細地討論一下。 |
| |
我跑到這裡 |
| |
本次模擬共250次,每組5次。 |
| |
LogA true、EA true 重複了五次,我得到了 logA hat、EA 等的不同估計值。 |
| |
我還用BCa方法為每個參數以及平均失效時間(TMT)建立了置信區間。讓我們來繪製這些數據,看看它的表現如何。 |
| |
這裡用 logA hat 和 logA true 做比較,我們可以看到斜率大約在 1 左右,截距與 0 沒有顯著差異,所以這實際上做得很好。如果我的 logA true 是 |
| |
在-15時,我的估計值大約在-15左右,或多或少。其他參數EA、n和sigma也是如此,我甚至在某個特定的p零點處也做了同樣的計算。所以一切都運作良好。 |
| |
我們也想知道,BCa 方法的效果如何?事實證明,效果相當不錯。 |
| |
我想……問題是BCa方法有多成功。我這裡給了一個分佈。每次我正確地用括號括起已知的真值,我都會得到1。如果我沒括起,我就會拿到0。 |
| |
所以,對於logA,我91%的時候正確地括住了已知的真值。我選擇的數值是95%,所以非常接近。我的數值在90%出頭,而對於活化能、能量等等,我得到的結果也差不多。它們都在90%左右。所以這其實是相當不錯的一致性。 |
| |
現在假設我想看看如果我將引導迭代和引導次數從 100 增加到 500 會發生什麼。那會是什麼樣子呢? |
| |
如果我將我的 MLE 與真實值進行繪圖,你會得到大致相同的結果。 |
| |
估計結果相當不錯。斜率始終在 1 左右,截距始終在 0 左右。所以,結果相當不錯。 |
| |
然後如果我看一下信賴區間寬度, |
| |
平均而言,我在這裡得到的置信區間寬度約為 23,mu 約為 20, |
| |
值 n。因此,這些置信區間其實有些寬。 |
| |
我想看看會發生什麼事。假設我把樣本量增加到 50 |
| |
而不是只用5個? 50個樣本量不太現實,我們不可能做那麼多。那樣做會非常困難,而且非常耗時。 |
| |
但這是模擬,所以我可以運行任意多個部分。為了驗證一下,我再次看到最大似然估計與已知的真實值非常吻合。斜率為 1,截距在零附近。 |
| |
還有BCa, |
| |
我的包圍曝光準確率大約在 95% 左右,符合預期。所以這表現得相當不錯,而且我的置信區間寬度, |
| |
現在低多了。所以,透過增加樣本量,如你所料,會議邊界會相應降低。 |
| |
這個數值最初在20多歲,現在大約是7歲。 mu值也最初在20多歲,現在大約是5歲;n最初在10左右,現在大約是2.3,所以我們透過增加樣本量獲得了更好的表現。 |
| |
這只是顯示了摘要的樣子。 |
| |
所以這裡我有一個針對這些不同組的成功率;n 是每個測試等級的零件數量。 |
| |
boot 是我建立的引導樣本的數量。所以 5_100、5_500 和 50_500,你可以看到這實際上是相當平坦的。你沒有得到 |
| |
覆蓋範圍大幅提升。我們測得的分辨率大概在95%左右。這基本上符合你的預期。 |
| |
因此,透過改變引導程式重複次數或樣本量,我不會改變太多。即使每個測試等級有五個零件,引導程式迭代次數為 100 次,BCa 也相當於做得相當不錯了。 |
| |
關於寬度。 |
| |
但在這裡我們看到了好處。隨著引導迭代次數的增加,信賴區間的寬度正在下降。除此之外, |
| |
如果增加樣本量,信賴區間就會大幅下降。所以所有這些行為都是可以預料到的。 |
| |
但這裡的重點是,這個模擬可以讓你事先知道,我的樣本數應該要多大? |
| |
我可以每個條件運行三個部分嗎?為了獲得我想要的置信區間寬度,我需要每個條件運行五個或十個部分嗎? |
| |
同樣,當我進行分析時,我需要進行多少次引導迭代才能達到 110 的水平?我需要 1000 次嗎?這也會讓你對分析時需要做些什麼有所了解。 |
| |
好了,現在我們終於掌握了最大似然估計和信賴區間。所以我們可以 |
| |
我們可以用安全操作區來總結我們的結果,再次 |
| |
我們得到的是可靠性圖,或者說溫度與功率之間的響應面。這樣你就能了解零件在各種條件下的可靠性。 |
| |
這對設計師或客戶來說非常有幫助。設計師想知道,當他們創造一個零件,或模仿一個零件時,它能持久嗎? |
| |
他們是否正在設計一個可以在更高溫度或更高功率下運行的零件,以便平均故障時間太低。 |
| |
客戶還想知道,當他們使用這個零件時,它能用多久? SOA 提供的就是這些資訊。 |
| |
我這裡要舉的指標是平均故障時間 (MTT)。你也可以使用其他指標。你可以使用擬合率,也可以使用“???”,但為了方便說明,我只使用平均故障時間。 |
| |
一個更好的指標,正如我將要顯示的,是對平均故障時間的較低置信區間。它能給你一個更保守的估計 |
| |
所以最終,SOA 可以讓你在溫度和功耗之間做出權衡。這是我們的 SOA 等值線圖。 |
| |
這些等值線是以 10 為底的中位數故障時間的對數。因此,我們得到了功率與溫度的關係圖。隨著溫度下降和功率下降,這些等值線會越來越大。因此,正如預期的那樣,當你降低應力時,中位數故障時間就會增加。 |
| |
假設我們有一個企業目標,這個企業目標是,你希望零件能夠持久耐用,或平均故障時間大於 10 到 6 小時。 |
| |
如果你看一下這張圖,在我們選擇的功率和溫度範圍內,看起來一切都很順利。這裡沒有任何問題。平均故障時間很容易達到 10 到 6 小時甚至更長。 |
| |
所以,我們必須意識到,中位數故障時間只是一個平均值,平均值只能反映一半的情況。我們必須採取措施承認這個估計值中的不確定性。因此,我們在實務上的做法是,對中位數故障時間使用一個會議下限。 |
| |
因此您可以看到這些輪廓已經發生了變化,變得非常低,因為我們使用了較低的置信界限,在這裡,這條線給出了 10 的 6 小時次方。 |
| |
你可以看到,現在只是到達範圍的一部分。所以,綠色區域這邊,很好。對。你可以在這裡安全操作,但紅色區域很危險。在這裡跑動不安全。這裡是怪物出沒的地方。你不會想在這麼危險的情況下跑動。 |
| |
而且,這還能讓你做出權衡。例如,假設一位設計師希望他們的零件在攝氏 80 度下運作。 |
| |
沒問題,只要它們將功率等級保持在 29.5 dBm 以下即可。 |
| |
同樣,假設他們想在攝氏 90 度下運行裝置。只要功率夠低,比如說 27.5 dBm,就可以。沒錯。所以,你可以在溫度和功率之間做出權衡。 |
| |
好的,現在總結一下。 |
| |
因此,我展示了恆定壓力測試和步進壓力測試之間的差異,並展示瞭如何從模擬步進壓力數據中提取最大似然估計值和 BCa 置信界限。 |
| |
我證明了估計值和已知真實值之間有相當好的一致性。此外, |
| |
BCa 方法效果很好,即使 n 引導只有 100 且每個測試等級有 5 個部分,我們的覆蓋率也達到了 95% 左右。 |
| |
隨著我們增加引導迭代次數或增加樣本量,覆蓋率並沒有太大變化。然而,我們確實看到置信區間寬度發生了很大變化。 |
| |
結果表明,我們可以做出某種權衡。同樣,透過模擬,我們可以知道需要執行多少次引導迭代,以及每個測試條件需要運行多少個元件。 |
| |
最後,我們採用這些最大似然估計和引導置信界限並創建了 SOA,它為客戶和設計師提供了特定 T0/P0 組合安全性的指導。 |
| |
然後,根據可靠性圖,我們就能在溫度和功率之間做出權衡。 |
| |
最後,我證明了使用中位數故障時間的下限置信區間 |
| |
確實為安全操作區(SOA)提供了更保守的估計。因此,本質上,使用較低的置信區間會使安全操作區(SOA)更安全一些。我的演講到此結束。非常感謝您的寶貴時間。 |