| 스피커 |
성적 증명서 |
| C휘트먼 |
좋습니다. 제 강연에 참석해 주셔서 정말 감사합니다. 저는 찰리 휘트먼입니다. Corvo에 있는데, 오늘은 R을 이용한 JMP의 단계 응력 모델링에 대해 말씀드리겠습니다. |
| |
그럼 먼저 소개부터 시작하겠습니다. 스트레스 테스트에 대해 간략하게 이야기해 보겠습니다. 스트레스 테스트란 무엇이고, 왜 하는지 알려드리겠습니다. |
| |
두 가지 기본 유형이 있습니다. 지속 스트레스와 단계적 스트레스입니다. 각각에 대해 간략히 설명하겠습니다. 그런 다음 단계적 스트레스 또는 지속 스트레스 테스트 결과를 바탕으로 |
| |
모델 매개변수의 추정치입니다. 예측을 위해서는 이것이 필요합니다. 스트레스 테스트에서는 매우 높은 스트레스 영역에 스트레스를 가한 후, 그 데이터를 사용하여 조건을 추정하고, 이를 위해 모델 매개변수가 필요합니다. |
| |
하지만 모델 매개변수는 이야기의 절반일 뿐입니다. 또한 이러한 추정치에는 어느 정도 불확실성이 있다는 점을 인정해야 하며, 신뢰 한계를 설정하여 이를 수행할 것입니다. 그리고 제가 사용한 부트스트래핑 방법에 대해 이야기해 보겠습니다. |
| |
그리고 하루가 끝나면, |
| |
최대 우도 추정치와 부트스트랩 신뢰 한계를 사용하여 안전 운영 영역이라고 하는 것을 생성할 수 있습니다. |
| |
SOA는 일종의 신뢰성 지도입니다. 반응 표면이라고도 볼 수 있죠. 그러니까 우리가 할 일은... 부품을 안전하게 작동할 수 있는 영역과 안전하지 않은 영역을 찾는 것입니다. 그리고 나서 몇 가지 결론을 내리겠습니다. |
| |
그렇다면 스트레스 테스트란 무엇일까요? 스트레스 테스트는 실패할 때까지 여러 부분에 스트레스를 가하는 것입니다. 때로는 실패하지 않을 수도 있고, 때로는 테스트를 시작했다가 중단하고 다른 작업을 해야 할 수도 있습니다. |
| |
이 경우, 센서 데이터 포인트가 있지만 시뮬레이션에 사용되는 최대우도법은 센서링을 고려하기 때문에 100% 고장이 발생할 필요가 없습니다. 일부 부품은 고장이 발생하지 않아도 됩니다. |
| |
그래서 여러분이 하는 일은, 설계된 실험이나 행렬 같은 것에 따라 다양한 조건에서 이 부분들에 스트레스를 가하는 것입니다. 그래서 여러분은 |
| |
응력은 온도나 전력이나 전압 또는 그와 비슷한 것일 수 있으며, 다양한 조건과 다양한 응력에서 부품을 작동시킨 다음 모델에 맞는 데이터를 가져와 사용 조건에 외삽합니다. |
| |
무 = InA + 공기/kT. |
| |
Mu는 분포의 로그 평균입니다. 일반적으로 로그 정규 분포를 사용합니다. 상수항과 온도항을 더한 값입니다. |
| |
mu는 온도와 반비례한다는 것을 알 수 있습니다. 즉, 온도가 올라가면 mu는 내려가고, 온도가 내려가면 mu는 올라갑니다. 로그 정규 분포를 사용하면 형상 계수 시그마 외에 추가 매개변수도 얻을 수 있습니다. |
| |
테스트를 실행한 후, 매우 높은 응력 조건에서 여러 부품을 구동하여 모델에 적용합니다. 이 두 가지를 결합하면 사용 조건에서의 동작을 예측할 수 있는데, 이것이 바로 핵심입니다. |
| |
가장 일반적인 방법은 일정 응력 테스트입니다. 기본적으로 테스트 기간 동안 응력이 고정되어 있습니다. 따라서 이는 단지 예시일 뿐입니다. 여기 온도 대 시간 그래프가 있습니다. |
| |
온도가 매우 낮으면 오래 지속되는 고장이 발생할 수 있고, 때로는 매우 오래 지속될 수도 있습니다. |
| |
고장 시간은 무작위로 발생할 수 있으며, 다시 말해 로그 정규 분포와 같은 분포에 따라 달라질 수 있습니다. 온도를 더 높이면 |
| |
우리는 실패 시간 분포의 끝을 얻게 될 것이지만, 평균적으로 실패 시간은 더 짧아질 것입니다. |
| |
온도를 더 높이면 같은 결과가 나오지만, 고장 시간은 그보다 훨씬 짧아집니다. 그래서 제가 할 수 있는 건, 예를 들어 여러 부품을 이렇게 다양한 온도에서 시험해 본다면, 그 결과를 이런 확률 도표에 맞춰 볼 수 있다는 겁니다. |
| |
여기 최고 온도에서의 확률 대 고장 시간(time to failure)을 구했습니다. 이 예시는 330°C이고, 고장 시간 집합을 로그 정규분포로 설정했습니다. 그리고 온도를 점점 낮출수록 고장 시간은 점점 더 길어집니다. |
| |
그런 다음 이 모든 데이터를 온도에 대해 아레니우스 모델에 적용하고 외삽합니다. 그러면 사용 조건에서 예측값을 얻을 수 있습니다. 이것이 바로 우리가 추구하는 것입니다. |
| |
가속 테스트를 할 때, 이 테스트는 매우 높은 스트레스로 실행해야 한다는 점을 지적하고 싶습니다. 예를 들어, |
| |
이것이 예를 들어 1000시간 정도 지속된다고 하더라도 사용 조건에 있는 부품은 10억 시간이 될 것이라고 예측하고 있으며 이를 실현할 방법은 없습니다. |
| |
10억 시간 동안 테스트를 실행합니다. 따라서 합리적인 시간 내에 테스트를 완료해야 하며, 이것이 바로 가속 테스트를 진행하는 이유입니다. |
| |
그렇다면 계단 응력이란 무엇일까요? 아시다시피, 계단 응력은 응력을 단계적으로 증가시키는 응력입니다. |
| |
아니면 경사로 같은 걸 설치하면 됩니다. 장점은 시간을 대폭 절약할 수 있다는 것입니다. 이전 플롯에서 보여드렸듯이, |
| |
이러한 테스트는 1000시간에 달하는 매우 긴 시간이 소요될 수 있습니다. 즉, 테스트가 끝나기까지 몇 주 또는 몇 달이 걸릴 수 있습니다. 단계적 스트레스 테스트 |
| |
훨씬 더 단축될 수도 있고, 몇 시간이나 며칠 안에 끝낼 수도 있습니다. 그래서 시간을 정말 절약할 수 있죠. 하지만 분석은 더 어려운데, 잠시 후에 보여드리겠습니다. |
| |
Corvo에서 진행한 연구에서는 음향 필터의 신뢰성을 연구했는데, 이 필터들은 RF 장치입니다. RF의 스트레스는 RF 전력입니다. |
| |
그래서 우리는 실패할 때까지 힘을 키웁니다. |
| |
따라서 전력을 높이려면 이 표현식을 사용하여 모델링할 수 있습니다. 기본적으로 아레니우스 방정식과 동일하지만, n log p라는 항을 하나 더 추가합니다. |
| |
N은 전력 가속 매개변수이고, p는 전력입니다. 따라서 로그 정규 분포의 경우, 네 번째 매개변수인 시그마가 있는데, 이는 형상 계수입니다. 따라서 매개변수는 1, 2, 3, 4개입니다. |
| |
이것이 어떤 모습일지 간단한 예를 들어보겠습니다. |
| |
시작은 전력 대 시간입니다. 전력은 dBm 단위입니다. 33.5dBm 정도의 전력에서 시작해서, 한 단계씩, 한 단계씩, 그리고 또 한 단계씩, 결국에는 실패할 때까지 계속합니다. |
| |
그리고 나는 이것을 지적하고 싶습니다. |
| |
전력이 변하고, 부품의 전력이 증가하면 온도가 변합니다. 전력이 증가하면 온도도 변합니다. 따라서 전력과 온도는 교락됩니다. |
| |
그래서 온도와 전력의 효과를 분리할 수 있는 방식으로 실험을 해야 합니다. 그래서 제가 지적하고 싶은 것은 |
| |
온도와 전력이라는 두 가지 용어가 있는데, 단순히 부품의 전력을 높이면 온도가 올라가는 것이 아니라 온도가 그 원인입니다. 전력 자체가 고장률을 높입니다. |
| |
그렇죠. 그럼 이제 그 계단 응력 플롯에 대해 좀 더 자세히 설명해 볼까요? |
| |
여기 또 전력 대 시간 문제가 있습니다. 예를 들어, 어떤 부품을 5시간 동안 특정 전력으로 작동시키고, 그 후 부하를 높이고, 다시 5시간 동안 작동시키고, 부하를 계속 높여서 결국 고장이 날 때까지 계속합니다. |
| |
그래서, 제가 말씀드렸듯이 전력이 증가함에 따라 온도도 증가합니다. 그래서 어떻게든 그 점을 고려해야 합니다. |
| |
t = T 주변 온도 + R 번째 시간 p |
| |
T ambient는 주변 온도이고, P는 전력이며, R th는 상수인 열 임피던스입니다. 즉, 전력을 설정하면 전력을 알 수 있고, 각 단계의 온도도 예측할 수 있습니다. |
| |
그래서 우리가 하고 싶은 것은 단계별 응력 패턴에서 얻은 실패 시간을 어떻게든 가져와서 사용 조건에 적용하는 것입니다. |
| |
내가 여기서 델타 시간만큼만 달리고 있다면 |
| |
그리고 조건을 사용하여 외삽하고 싶었는데, 제가 할 일은 곱하는 것입니다... 시간 델타 t에 가속 계수를 곱한 값과 같은 양을 구하는 것입니다. 가속 계수는 다음과 같습니다. 활성화 에너지 항, 온도 항, 그리고 전력 항이 있습니다. |
| |
그래서 제가 할 일은 AF를 곱하는 겁니다. 높은 스트레스에서 낮은 스트레스로 내려가기 때문에 AF는 1보다 큰 값입니다. 이건 설명을 위한 것일 뿐, 1보다 그렇게 크지는 않지만, 대충 짐작하셨겠죠? |
| |
그리고 전력을 높이면 온도와 전력이 변하기 때문에 AF도 단계마다 변합니다. |
| |
따라서 사용 조건에서 동일한 시간을 구하려면 합계를 구해야 합니다. 각 구간을 구하면 됩니다. |
| |
자체 가속 계수와 델타 t가 있을 수 있습니다. 그리고 합을 구하면 동일한 시간이 나옵니다. |
| |
그래서 이 표현을 사용해서 장비 시간을 예측할 수 있을 것 같습니다. Ea와 n이 정확히 무엇인지 알면, 그에 상응하는 시간을 예측할 수 있을 겁니다. 바로 그게 아이디어죠. |
| |
그래서... 제가 말씀드렸듯이 온도와 전력은 교락되어 있습니다. 따라서 추정을 위해 두 가지 서로 다른 주변 온도에서 실험을 진행해야 합니다. |
| |
주변 온도를 충분히 분리하면 전력과 온도의 영향을 실제로 분리할 수 있습니다. |
| |
또한 최소 두 개의 램프 속도가 필요합니다. 따라서 최소한 램프 속도와 주변 온도를 나타내는 2x2 행렬이 필요합니다. |
| |
제가 시뮬레이션을 진행하면서 여기에 표시된 것처럼 세 가지 다른 비율을 선택했습니다. dBm 단위의 전력과 스트레스 시간을 비교했습니다. |
| |
그리고 세 가지 램프가 있는데, 속도는 다릅니다. 빠른 램프, 중간 램프, 느린 램프 속도를 사용하겠습니다. 실제로는 실패할 때까지 계속 반복해야 하지만, 저는 몇 시간 후에 임의로 중단했습니다. 보시다시피, 여기에도 한계가 있습니다. |
| |
상한은 4입니다. 응력이나 힘을 임의로 증가시키면 실패 메커니즘을 바꿀 수 있다는 것을 발견했기 때문입니다. |
| |
그리고 당신이 하고 싶은 것은 가속 조건에서의 고장 메커니즘이 사용 조건에서의 고장 메커니즘과 동일하도록 하는 것입니다. 그리고 만약 내가 |
| |
외삽법을 적용할 수 없는 실패 메커니즘이 있습니다. 외삽법은 유효하지 않습니다. |
| |
그래서 우리는 여기서 최대값을 34.4dBm으로 설정했고, 그 값에 가까워지지 않도록 약간의 버퍼도 두었습니다. |
| |
따라서 주변 온도는 45도 C이고 전력은 33.5 dBm으로 시작하므로 또 다른 조건 세트도 갖게 됩니다. |
| |
135도입니다. 보시다시피, 여기 패턴이 똑같습니다. 그리고 천장이 있고, 버퍼 영역이 있는데, 모든 게 다 똑같습니다. 다만 더 낮은 전력에서 시작한다는 점이 다릅니다. 그래서 지금은 32dBm 미만인데, 이전에는 33dBm이 넘었습니다. |
| |
이렇게 하는 이유는 이렇게 높은 온도에서 전력을 낮추지 않으면 조심하지 않으면 거의 즉시 고장이 발생하고, 그렇게 되면 데이터를 사용하여 추정을 할 수 없기 때문입니다. |
| |
좋습니다. 다시 한번, 우리에게 필요한 것은 앞서 보여드린 것처럼 등가 시간에 대한 표현식입니다. 여기 그 표현식이 있습니다. |
| |
좀 엉뚱한 문제였고, 등가 사용 시간 조건 분포에 대한 표현식이 무엇인지 기본 원리에서 어떻게 도출해야 할지 몰랐습니다. 그래서 그런 어려운 문제에 직면했을 때, 저는 부트스트랩을 사용하기로 했습니다. |
| |
그렇다면 부트스트래핑이란 무엇일까요? |
| |
부트스트래핑을 통해 데이터 세트를 여러 번 재추출하는 것입니다. 즉, 원본 데이터 세트의 관측치에서 반복 표본을 얻을 수도 있고, 관측치가 전체 데이터 세트에 나타나지 않을 수도 있습니다. |
| |
제가 사용하는 접근법은 비모수적(non-parametric)이라고 불리는데, 분포를 가정하지 않기 때문입니다. 즉, 데이터의 기본 분포를 알 필요가 없습니다. |
| |
따라서 매개변수의 근사 분포를 얻을 수 있는 많은 부트스트랩 샘플을 생성하면 통계적 추론이 가능해집니다. 특히, 신뢰 한계를 설정하는 데 관심이 있습니다. 바로 이것이 우리가 해야 할 일입니다. |
| |
부트스트래핑의 간단한 예로 백분위수 부트스트랩이 있습니다. 예를 들어, 어떤 추정치에 대해 90% 신뢰 한계를 원한다고 가정해 보겠습니다. |
| |
그러면 제가 할 일은 아주 많은 부트스트랩 반복실험을 구성하고, 각 부트스트랩 샘플에서 매개변수를 추출하는 것입니다. 그리고 이를 정렬하고, 그 벡터에서 어떤 부분이 이동했는지, 그리고 95번째 백분위수인지 파악하는 것입니다. 이렇게 해서 90% 신뢰 한계를 형성할 것입니다. |
| |
제가 실제로 한 일은 백분위수 개선 기법을 사용한 것입니다. 편향 보정 가속 기법을 뜻하는 BCa라고 합니다. |
| |
편향은 때때로 우리의 추정이 편향될 수 있고 이 방법에서는 그 점을 고려하기 때문입니다. |
| |
가속, 안타깝게도 여기서는 가속이라는 용어가 혼란스럽습니다. 가속 테스트와는 아무런 관련이 없고, 방법론과 관련이 있으며, 방법은 조정과 관련이 있습니다. |
| |
분포의 왜도에 대한 것입니다. 하지만 궁극적으로 당신이 얻게 될 것은... |
| |
다양한 백분위수 값을 선택하게 됩니다. 다시 한 번 말씀드리자면, 백분위수 기법에서는 5위와 95위를 사용했습니다. |
| |
부트스트랩이나 BCa 부트스트랩은 다른 값을 제공할 수 있습니다. 예를 들어 3백분위수와 96% 같은 값을 제공할 수도 있습니다. 90% 신뢰 한계를 설정하려면 이 값을 선택해야 합니다. |
| |
그러니 명확하게 설명하기 위해 아주 간단한 예를 하나 들어보겠습니다. |
| |
관측치가 10개 있고, 이를 부트스트랩 표본으로 추출하고 싶다고 가정해 보겠습니다. 대략 다음과 같습니다. 예를 들어, 첫 번째 관측치 24.93은 첫 번째 표본에서 두 번, 두 번째 표본에서 한 번, 이런 식으로 나타납니다. |
| |
25.06은 두 번 발생합니다. 25.89는 전혀 발생하지 않으며 이 경우 100번 수행할 수 있습니다. |
| |
그러면 각 부트스트랩 표본에 대해, 이 경우에는 평균을 구하겠습니다. 예를 들어, 평균 분포에 관심이 있습니다. 음, 여기 제 평균 분포가 있습니다. |
| |
그리고 그것이 어떻게 생겼는지 볼 수 있습니다. 여기 있습니다. |
| |
종 모양에 가깝고, 여기에 몇 가지 점이 강조되어 있는데, 이것이 백분위수 기법을 사용한다면 90% 신뢰 한계가 될 것입니다. |
| |
정렬된 벡터는 다음과 같고 5번째 백분위수는 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에 대해 알려진 참값을 몇 개 선택했습니다. 일정 범위 내에서 무작위로 선택했죠. |
| |
그리고 이 매개변수들에 대해 몇 번이고 동일한 값을 선택하고, 그때마다 샘플을 생성합니다. 예를 들어, logA true에 대해 -28.7을 세 번 선택했습니다. |
| |
여기서 데이터를 얻습니다. 테스트 레벨당 총 5개의 부품, 즉 6개의 테스트 레벨이 있었는데, 기억하시겠지만 램프 3개, 온도 2개, 레벨 6개, 5를 6배하면 30이 됩니다. |
| |
따라서 이 테스트에는 총 30개의 부분이 실행되었고 logA 모자를 살펴보면 최대 우도 추정치는 약 28 정도입니다. |
| |
그래서 실제로 꽤 잘 작동했습니다. 다음 샘플을 살펴보겠습니다. 예를 들어, 여기서는 5.7을 빼고 세 번 반복했습니다. 그리고 그 값에서 5.7 정도 떨어진 최대값에 대해 제 방법을 실행했을 때 어떤 결과가 나왔는지 확인해 보겠습니다. 이 방법이 꽤 잘 작동하는 것 같습니다. |
| |
하지만 이에 대해 좀 더 자세히 살펴보겠습니다. |
| |
여기서 나는 달렸다 |
| |
각 그룹당 5회씩, 총 250회 시뮬레이션을 실시했습니다. |
| |
LogA true, EA true가 5번 반복되고 logA hat, EA 등에 대해 다른 추정치를 얻습니다. |
| |
또한 BCa 방법을 사용하여 각 매개변수에 대한 신뢰 한계와 고장 시간 중앙값을 설정하고 있습니다. 이 데이터를 보고 그래프로 표시하여 얼마나 잘 작동하는지 확인해 보겠습니다. |
| |
여기서 logA hat과 logA true를 비교해보면 기울기가 1에 가깝고 절편도 0과 크게 다르지 않음을 알 수 있습니다. 따라서 이 방법은 실제로 매우 좋은 결과를 보이고 있습니다. logA true가 |
| |
마이너스 15에서는 제 추정값에 마이너스 15 정도 플러스 마이너스 정도 나옵니다. EA, n, 시그마 같은 다른 매개변수도 마찬가지고, 특정 p 0, P 0에서도 같은 결과가 나왔습니다. 따라서 모든 것이 아주 잘 동작하고 있는 겁니다. |
| |
BCa 방법이 얼마나 효과적인지 궁금하네요. 음, 꽤 효과가 있었던 것 같아요. |
| |
저는... 질문은 BCa 방법이 얼마나 성공적이었는지입니다. 그리고 여기 분포가 있습니다. 알려진 참값을 올바르게 괄호로 묶을 때마다 1을 받았고, 틀리면 0을 받았습니다. |
| |
logA의 경우, 알려진 참값을 91%의 확률로 정확하게 괄호 안에 넣었습니다. 95%의 확률로 선택했으니 꽤 비슷하네요. 90대 초반이고, 활성화, 에너지 등도 거의 비슷한 값을 얻고 있습니다. 모두 90대 중후반입니다. 꽤 잘 일치하네요. |
| |
이제 부트스트랩 반복 횟수를 100에서 500으로 늘리면 어떻게 될지 보고 싶다고 가정해 보겠습니다. 어떻게 보일까요? |
| |
내 MLE를 실제 값에 맞춰 표시하면 거의 비슷한 결과가 나옵니다. |
| |
추정치는 꽤 좋습니다. 기울기는 항상 1에 가깝고 절편은 항상 0에 가깝습니다. 꽤 잘 동작하는 것 같습니다. |
| |
그리고 신뢰 한계 너비를 살펴보면, |
| |
평균적으로 저는 여기에서 신뢰 제한 너비에 대해 약 23을 얻고, mu에 대해 약 20을 얻고, 약 8을 얻습니다. |
| |
값 n. 따라서 이러한 신뢰 구간은 실제로 다소 넓습니다. |
| |
그리고 무슨 일이 일어나는지 보고 싶습니다. 음, 표본 크기를 50으로 늘린다고 가정해 봅시다. |
| |
5개만 사용하는 대신요? 50개는 현실적인 표본 크기가 아니어서 그렇게 많은 표본을 추출할 수 없습니다. 그렇게 하려면 매우 어렵고 시간도 많이 걸립니다. |
| |
하지만 이건 시뮬레이션이니까 원하는 만큼 여러 부분을 실행할 수 있습니다. 그래서 확인해 보니, 최대우도 추정값이 알려진 참값과 꽤 잘 일치하는 것을 다시 한 번 확인했습니다. 다시 한번 기울기가 1이고 절편이 0에 가깝습니다. |
| |
그리고 BCa, |
| |
예상대로 95% 정도 브라케팅이 잘 되고 있어요. 꽤 잘 동작하는 것 같고, 제 신뢰 범위는 넓이입니다. |
| |
지금은 훨씬 낮아졌습니다. 따라서 예상하시겠지만 표본 크기를 늘리면 컨퍼런스 경계도 그만큼 낮아집니다. |
| |
원래는 20대 후반이었는데, 지금은 7 정도입니다. mu도 20대 후반이었는데, 지금은 5 정도입니다. n도 처음에는 10 정도였는데, 지금은 2.3 정도입니다. 표본 크기를 늘려서 이런 현상을 개선하고 있습니다. |
| |
그러니 이는 요약이 어떻게 될지 보여 주는 것입니다. |
| |
다음은 다양한 그룹에 대한 성공률입니다. n은 테스트 수준당 부분의 수입니다. |
| |
그리고 boot는 제가 만든 부트스트랩 샘플의 개수입니다. 5_100, 5_500, 50_500인데, 실제로는 꽤 일정하다는 것을 알 수 있습니다. |
| |
커버리지가 크게 개선되었습니다. 90도 초반에서 중반 정도 나오는 것 같습니다. 예상하신 대로입니다. |
| |
따라서 부트스트랩 반복 횟수나 표본 크기를 변경하더라도 큰 변화는 없습니다. BCa는 테스트 수준당 5개의 부분과 100번의 부트스트랩 반복을 사용하더라도 꽤 좋은 결과를 얻는 것과 같습니다. |
| |
너비에 대해서. |
| |
하지만 여기서는 이점이 있습니다. 즉, 부트스트랩 반복 횟수를 늘릴수록 신뢰 한계의 폭이 줄어듭니다. 게다가, |
| |
표본 크기를 늘리면 신뢰 한계 폭이 크게 감소합니다. 따라서 이러한 모든 현상은 예상된 결과입니다. |
| |
하지만 여기서 중요한 점은 이 시뮬레이션을 통해 미리 샘플 크기를 얼마나 크게 해야 할지 알 수 있다는 것입니다. |
| |
조건당 세 부분으로 충분할까요? 원하는 신뢰 한계 폭을 얻으려면 조건당 다섯 부분으로 나눠서 실행해야 할까요, 아니면 열 부분으로 나눠서 실행해야 할까요? |
| |
마찬가지로, 분석을 할 때, 110개 정도 되려면 부트스트랩 반복을 몇 번 해야 할까요? 1000번이나 해야 할까요? 이렇게 하면 분석할 때 어떤 작업을 해야 할지 미리 알 수 있습니다. |
| |
좋습니다. 마침내 최대 우도 추정치와 신뢰 한계를 갖게 되었습니다. 이제 다음을 수행할 수 있습니다. |
| |
우리는 안전 작동 영역을 사용하여 결과를 요약할 수 있습니다. |
| |
여기서 우리가 얻는 것은 일종의 신뢰도 지도, 즉 온도 대 전력의 반응 표면입니다. 이를 통해 다양한 조건에서 부품의 신뢰성을 파악할 수 있습니다. |
| |
이는 디자이너나 고객에게 매우 유용할 수 있습니다. 디자이너는 부품을 제작하거나 모방할 때, 그 부품이 얼마나 오래 지속될지 알고 싶어 합니다. |
| |
그들은 더 높은 온도나 더 높은 전력에서 작동하도록 부품을 설계해서 고장까지의 평균 시간이 너무 짧아지도록 하고 있는 것은 아닐까요? |
| |
또한 고객은 이 부분을 언제 실행할지, 얼마나 오래 지속될지 알고 싶어합니다. SOA는 바로 그 정보를 제공합니다. |
| |
여기서 제가 제시할 지표는 고장 발생까지의 중간 시간입니다. 다른 지표를 사용할 수도 있습니다. 적합률이나 ???를 사용할 수도 있지만, 설명을 위해 고장 발생까지의 중간 시간만 사용했습니다. |
| |
더 나은 지표는, 제가 보여드릴 테지만, 중간 고장 시간(TTP)에 대한 신뢰 한계를 낮추는 것입니다. 이는 더 보수적인 추정치를 제공합니다. |
| |
따라서 궁극적으로 SOA는 온도와 전력 간의 균형을 맞출 수 있게 해 줍니다. SOA를 보여주는 등고선 그림은 다음과 같습니다. |
| |
이 등고선은 중간 고장 시간의 로그를 10으로 나타낸 것입니다. 따라서 전력 대 온도의 관계를 살펴보면, 온도가 낮아지고 전력이 감소함에 따라 이러한 등고선은 점점 더 커집니다. 따라서 예상대로 응력을 낮추면 중간 고장 시간은 증가합니다. |
| |
그리고 기업 목표가 있다고 가정해 보겠습니다. 기업 목표가 부품의 수명을 늘리거나 고장까지의 중간 시간을 10~6시간 이상으로 늘리는 것이었습니다. |
| |
이 지도를 보시면, 우리가 선택한 출력과 온도 범위에서는 아주 만족스러운 결과를 얻을 수 있을 것 같습니다. 아무런 문제도 없습니다. 고장 발생까지의 평균 시간은 10시간에서 6시간 이상입니다. |
| |
즉, 중간 고장 시간(MTI)은 평균값이라는 것을 다시 한번 깨달아야 합니다. 평균값은 전체 상황의 절반만을 보여줄 뿐입니다. 이 추정치의 불확실성을 인정하는 조치를 취해야 합니다. 따라서 실제로는 중간 고장 시간에 대해 하한값(Lower Conference Bound)을 사용합니다. |
| |
따라서 윤곽선이 매우 낮아진 것을 볼 수 있습니다. 낮은 신뢰 한계를 사용했기 때문입니다. 여기서 10의 6승은 이 선에 의해 주어집니다. |
| |
그리고 지금은 도달 범위 일부에 불과하다는 걸 알 수 있죠. 그러니까 여기 녹색 선은 괜찮습니다. 맞아요. 여기서는 안전하게 운전할 수 있지만 빨간색 선은 위험합니다. 여기서 달리는 건 안전하지 않습니다. 여기가 괴물들이 있는 곳이니까요. 이렇게까지 무리하게 운전하면 안 됩니다. |
| |
또한, 이를 통해 절충안을 만들 수 있습니다. 예를 들어, 설계자가 자신의 부품을 80°C에서 작동시키고 싶어한다고 가정해 보겠습니다. |
| |
전력 레벨을 29.5dBm 이하로 유지한다면 괜찮습니다. |
| |
마찬가지로, 부품을 90°C에서 작동시키고 싶다고 가정해 보겠습니다. 전력을 충분히 낮게, 예를 들어 27.5dBm 정도로 유지한다면 괜찮습니다. 맞습니다. 따라서 온도와 전력 사이에서 균형을 맞춰야 합니다. |
| |
좋습니다. 이제 요약하겠습니다. |
| |
그래서 저는 상수 스트레스 테스트와 단계적 스트레스 테스트의 차이점을 보여드렸고, 시뮬레이션된 단계적 스트레스 데이터에서 최대 우도 추정치와 BCa 신뢰 한계를 추출하는 방법을 보여드렸습니다. |
| |
그리고 저는 추정값과 알려진 참값 사이에 꽤 좋은 일치가 있음을 보여주었습니다. 게다가, |
| |
BCa 방법은 매우 효과적이었습니다. 테스트 수준당 5개의 부분과 100개의 부트만 사용했는데도 적용 범위가 약 95%였습니다. |
| |
부트스트랩 반복 횟수를 늘리거나 표본 크기를 늘려도 그 적용 범위는 크게 변하지 않았습니다. 하지만 신뢰 한계 폭에는 큰 변화가 있었습니다. |
| |
그리고 그 결과는 우리가 어떤 종류의 절충안을 만들 수 있음을 보여주었습니다. 다시 말해, 시뮬레이션을 통해 부트스트랩 반복 횟수와 테스트 조건당 실행해야 할 부품 수를 알 수 있었습니다. |
| |
그리고 궁극적으로 우리는 최대 우도 추정치와 부트스트랩 신뢰 한계를 사용하여 SOA를 만들었습니다. 이는 특정 T0/P0 조합이 얼마나 안전한지에 대한 지침을 고객과 설계자에게 제공합니다. |
| |
그리고 그 신뢰성 맵을 통해 온도와 전력 간의 균형을 맞출 수 있었습니다. |
| |
마지막으로, 실패까지의 중간 시간에 대한 하한 신뢰 한계를 사용하여 다음을 보여주었습니다. |
| |
SOA에 대해 더 보수적인 추정치를 제공합니다. 따라서 본질적으로 하한 신뢰 한계를 사용하면 안전 운영 영역(SOA)이 조금 더 안전해집니다. 이것으로 제 발표를 마칩니다. 시간 내주셔서 정말 감사합니다. |