<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Manufacturing AI | Sieun Kim Portfolio</title><link>https://siuunni.github.io/tags/manufacturing-ai/</link><atom:link href="https://siuunni.github.io/tags/manufacturing-ai/index.xml" rel="self" type="application/rss+xml"/><description>Manufacturing AI</description><generator>HugoBlox Kit (https://hugoblox.com)</generator><language>ko-kr</language><lastBuildDate>Fri, 12 Dec 2025 00:00:00 +0000</lastBuildDate><image><url>https://siuunni.github.io/media/icon_hu_1c0e9cb08cfb822a.png</url><title>Manufacturing AI</title><link>https://siuunni.github.io/tags/manufacturing-ai/</link></image><item><title>배터리 전압·온도 시계열 기반 이상 셀 탐지</title><link>https://siuunni.github.io/projects/battery-anomaly-cell/</link><pubDate>Fri, 12 Dec 2025 00:00:00 +0000</pubDate><guid>https://siuunni.github.io/projects/battery-anomaly-cell/</guid><description>&lt;div style="display:grid;grid-template-columns:130px 1fr;gap:1rem 1.5rem;margin-bottom:2rem;"&gt;
&lt;div style="font-weight:700;"&gt;개요&lt;/div&gt;
&lt;div&gt;배터리팩 충전 과정의 &lt;strong&gt;전압 및 온도&lt;/strong&gt; 시계열을 함수형 데이터로 변환하고, 데이터 특성에 맞춰 FPCA와vd-FPCA로 차원을 줄인 뒤, GMM 기반 등각 예측(Conformal Prediction)으로 통계적으로 보장된 이상 탐지 기준을 설계한 프로젝트입니다.&lt;/div&gt;
&lt;div style="font-weight:700;"&gt;연구 기간&lt;/div&gt;
&lt;div&gt;2024.05~2025.03&lt;/div&gt;
&lt;div style="font-weight:700;"&gt;데이터&lt;/div&gt;
&lt;div&gt;KAMP 「전기차 배터리 충전 실험 데이터(품질보증)」 — 셀 176개(16 모듈 × 11 셀) 전압, 온도 측정점 32개(모듈당 2개). 학습은 정상만, 테스트는 정상,이상 혼합&lt;/div&gt;
&lt;div style="font-weight:700;"&gt;기술 스택&lt;/div&gt;
&lt;div&gt;Python,R,scikit-fda, scikit-learn,&lt;/div&gt;
&lt;div style="font-weight:700;"&gt;성과&lt;/div&gt;
&lt;div&gt;전압·온도 이상을 &lt;strong&gt;위양성 없이 전수 식별&lt;/strong&gt;(실제,시뮬레이션 데이터 모두 F1 ≈ 1), 유의수준 $\alpha=0.01$ 에서 통계적으로 보장된 커버리지 달성&lt;/div&gt;
&lt;/div&gt;
&lt;hr&gt;
&lt;h2 id="문제-정의"&gt;문제 정의&lt;/h2&gt;
&lt;p&gt;제조 현장의 이상 탐지는 두 가지 제약이 있습니다. &lt;strong&gt;① 이상 데이터를 얻기 어렵고, ② 라벨을 얻기는 더 어렵습니다.&lt;/strong&gt; 이 배터리팩 데이터도 같은 상황이었습니다.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;학습 데이터:&lt;/strong&gt; 전부 &lt;strong&gt;정상&lt;/strong&gt; 상태의 충전 과정만 수집 — 176개 셀 전압 + 32개 온도&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;테스트 데이터:&lt;/strong&gt; 정상·이상이 섞여 있지만, 이상 샘플엔 &lt;strong&gt;이상 발생 시점과 &amp;ldquo;이상이다&amp;quot;라는 이진 라벨만&lt;/strong&gt; 제공. 이상의 &lt;strong&gt;구체적 유형(온도/전압)은 알려주지 않음&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;판정 규칙:&lt;/strong&gt; 전압이든 온도든 한쪽이라도 이상이면 그 배터리팩 전체를 이상으로 분류&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;즉 정상 데이터만으로 정상의 분포를 학습하고, 새 샘플이 그 분포를 벗어나는지를 판단하는 &lt;strong&gt;단일 클래스(novelty) 탐지&lt;/strong&gt; 문제로 접근했습니다. 그리고 &amp;ldquo;몇 % 신뢰수준에서 이상이다&amp;quot;라고 말할 수 있도록, 통계적 보장이 있는 판정 기준이 필요했습니다.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="배터리팩-계층-구조"&gt;배터리팩 계층 구조&lt;/h2&gt;
&lt;p&gt;배터리팩은 계층적으로 구성됩니다. 팩 1개 = &lt;strong&gt;모듈 16개&lt;/strong&gt;, 모듈 1개 = &lt;strong&gt;셀 11개&lt;/strong&gt;, 따라서 팩 전체는 &lt;strong&gt;176개 셀&lt;/strong&gt;입니다. 온도는 모듈마다 센서 2개가 달려 총 32개 측정점을 갖습니다. 이 &lt;strong&gt;셀–모듈–팩 계층&lt;/strong&gt;을 그대로 분석 단위에 반영했습니다(온도는 모듈당 2개 센서를 평균내 모듈 대표 온도로 사용).&lt;/p&gt;
&lt;figure style="margin:1.5rem auto;max-width:560px;"&gt;
&lt;img src="https://siuunni.github.io/uploads/papers/battery_pack.png"
alt="전기 자동차용 배터리 팩-모듈-셀"
style="width:100%;border-radius:8px;border:1px solid rgba(148,163,184,.25);background:#fff;padding:.5rem;"&gt;
&lt;figcaption style="font-size:.8rem;color:#94a3b8;margin-top:.5rem;text-align:center;"&gt;
배터리 팩은 여러 개의 모듈로 구성되며, 각 모듈은 다수의 셀로 이루어진 계층적 구조를 가졌습니다.[사진 출처: 삼성 SDI]
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;hr&gt;
&lt;h2 id="데이터-전처리"&gt;데이터 전처리&lt;/h2&gt;
&lt;p&gt;함수형 데이터 분석은 모든 곡선이 같은 충전 사이클을 담고 있어야 합니다. 그래서 전처리의 핵심은 실제 충전 구간만 정확히 절단하는 것이었습니다.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;① 기본 절단.&lt;/strong&gt; 각 곡선에서 전압 및 온도의 &lt;strong&gt;최솟값 인덱스를 충전 시작점, 최댓값 인덱스를 충전 완료점&lt;/strong&gt;으로 잡아 완전한 충전 사이클을 추출했습니다.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;② 변화점 탐지로 정밀 절단.&lt;/strong&gt; 그런데 일부 데이터는 충전 초반에 &lt;strong&gt;최저 전압이 한동안 평평하게 유지&lt;/strong&gt;되는 구간이 있었습니다. 단순히 최솟값의 첫 인덱스를 시작점으로 잡으면, 충전 전 평형 상태까지 끌려 들어가는 문제가 생겼습니다. 그래서 이런 경우에만 선택적으로 &lt;strong&gt;변화점 탐지(ruptures 라이브러리)&lt;/strong&gt; 를 적용해, 감지된 변화점 중 &lt;strong&gt;가장 이른 시점&lt;/strong&gt;을 실제 충전 시작점으로 삼았습니다. 모든 데이터에 적용하면 계산 비용이 크기 때문에, &lt;strong&gt;문제가 되는 곡선에만 선택 적용&lt;/strong&gt;해 효율적으로 처리했습니다.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;③ 길이 통일.&lt;/strong&gt; 곡선마다 측정 길이가 달라, 모두 &lt;strong&gt;1초 단위 격자로 선형보간&lt;/strong&gt;하고, 가장 긴 곡선을 기준으로 짧은 곡선은 마지막 값을 연장해 길이를 맞췄습니다. 다만 &lt;strong&gt;온도는 센서별 변화 양상이 너무 달라&lt;/strong&gt; 같은 방식으로 늘리면 본래 패턴이 손상되고 탐지 성능이 떨어졌습니다. 그래서 온도에는 &lt;strong&gt;가변 도메인 함수형 주성분 분석(vd-FPCA)&lt;/strong&gt; 을 적용했습니다. vd-FPCA는 길이가 다른 곡선을 공통 격자로 억지로 맞추지 않고, &lt;strong&gt;도메인 길이를 변수로 한 삼변량 평활(penalized thin-plate spline)로 공분산을 추정하고 길이에 조건부로 고유분해&lt;/strong&gt;하는 방법입니다(
). 덕분에 측정 길이가 제각각인 온도 곡선의 고유한 패턴을 보존하면서 차원을 줄일 수 있었습니다.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="함수형-분석"&gt;함수형 분석&lt;/h2&gt;
&lt;p&gt;전압과 온도는 데이터 성격이 달랐습니다. 전압은 곡선 길이가 비교적 일정해 일반 FPCA를 적용했고, 온도는 센서마다 측정 길이가 제각각이라 길이 차이를 다룰 수 있는 vd-FPCA를 적용했습니다.&lt;/p&gt;
&lt;h3 id="전압--fpca--mahalanobis-거리"&gt;전압 — FPCA + Mahalanobis 거리&lt;/h3&gt;
&lt;p&gt;먼저 데이터를 &lt;strong&gt;팩 단위 5:5로 Train / Calibration 으로 분할&lt;/strong&gt;한 뒤, 모든 전압 곡선을 함수형 데이터로 변환했습니다. Train 세트에서 &lt;strong&gt;FPCA&lt;/strong&gt;를 학습해 고유함수(eigenfunction) 집합을 추정하고, Calibration,Test 곡선은 같은 함수공간으로 &lt;strong&gt;정사영&lt;/strong&gt;해 2차원 FPCA 점수 공간에 표현했습니다.&lt;/p&gt;
&lt;p&gt;이어 Train 세트에서 모듈 안 셀들의 전압 벡터로 평균 벡터와 공분산 행렬을 추정했습니다. 팩 $i$, 모듈 $j$, 셀 $k$의 전압 벡터를 $y_{ijk}$ 라 하면 모듈 단위 평균은&lt;/p&gt;
$$\bar{y}_{ij} = \frac{1}{K} \sum_{k=1}^{K} y_{ijk},$$&lt;p&gt;Train 세트 공분산 행렬 $\Sigma$ 는&lt;/p&gt;
$$\Sigma = \frac{1}{|D_{\mathrm{tr}}|}\sum_{i \in D_{\mathrm{tr}}} \sum_{j=1}^{M}\frac{1}{K} \sum_{k=1}^{K}(y_{ijk} - \bar{y}_{ij})(y_{ijk} - \bar{y}_{ij})^{\top}.$$&lt;p&gt;이 평균과 공분산 통해 각 셀이 모듈 분포에서 얼마나 벗어났는지를 &lt;strong&gt;Mahalanobis 거리&lt;/strong&gt;로 측정해, 셀 단위 이상 점수를 정의했습니다. 셀–모듈 계층을 반영하므로, 팩이 이상으로 판정됐을 때 &lt;strong&gt;어느 셀이 원인인지까지 해석&lt;/strong&gt;할 수 있습니다.&lt;/p&gt;
&lt;h3 id="온도--vd-fpca"&gt;온도 — vd-FPCA&lt;/h3&gt;
&lt;p&gt;온도 곡선엔 vd-FPCA를 적용한 후 GMM을 통해 정상 집단과 이상 집단을 군집화했습니다. 주성분 공간에서 온도 이상 데이터는 정상 군집과 멀리 떨어진 $(-25,\,26)$ 부근에 &lt;strong&gt;고립되어 나타났습니다.&lt;/strong&gt; 이런 뚜렷한 분리는 &lt;strong&gt;vd-FPCA가 길이가 다른 온도 곡선의 정상·이상 패턴 차이를 효과적으로 포착&lt;/strong&gt;했음을 보여줍니다.&lt;/p&gt;
&lt;figure style="margin:1.5rem auto;max-width:560px;"&gt;
&lt;img src="https://siuunni.github.io/uploads/papers/battery_temp.png"
alt="온도 vd-FPCA 주성분 점수 공간"
style="width:100%;border-radius:8px;border:1px solid rgba(148,163,184,.25);background:#fff;padding:.5rem;"&gt;
&lt;figcaption style="font-size:.8rem;color:#94a3b8;margin-top:.5rem;text-align:center;"&gt;
온도 vd-FPCA 점수 공간. 정상(train·cal·test_temp_ok)은 한 군집을 이루고, 온도 이상(test_temp_ng)은 $(-25,26)$ 부근에 고립됩니다.
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;hr&gt;
&lt;h2 id="등각-예측"&gt;등각 예측&lt;/h2&gt;
&lt;p&gt;차원을 줄인 점수 공간 위에서, &lt;strong&gt;등각 예측(Conformal Prediction)&lt;/strong&gt; 으로 이상을 판정했습니다.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;왜 등각 예측인가.&lt;/strong&gt; 이 데이터는 이상 샘플이 적고 라벨도 부족합니다. 등각 예측은 점 예측 대신 예측 집합(prediction set)을 내놓는데, 교환가능성(exchangeability)이라는 최소한의 가정만으로 불확실성을 정량화합니다. 핵심은 &lt;strong&gt;모델의 유효성과 무관하게 예측 집합이 참값을 포함할 확률이 설정한 수준 이상으로 유지된다&lt;/strong&gt;는 점입니다. 덕분에 분포 가정을 강하게 두기 어렵고 데이터 수가 적은 이번 같은 상황에서도 유효하게 작동하고, &amp;ldquo;$\alpha$ 수준에서 정상을 이상으로 잘못 볼 확률&amp;quot;을 통제할 수 있습니다.&lt;/p&gt;
&lt;p&gt;적합성 점수와 예측 집합 구성 방식이 다른 &lt;strong&gt;세 가지 임계값 설정 방법&lt;/strong&gt;을 모두 적용해 강건성을 검증했습니다.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;정상 테스트 데이터&lt;/strong&gt; — 세 방법 모두에서 예측 영역 &lt;strong&gt;내부&lt;/strong&gt;에 위치해 정상으로 올바르게 분류&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;이상 데이터&lt;/strong&gt; — 세 방법 모두에서 예측 영역을 &lt;strong&gt;명확히 벗어나&lt;/strong&gt; 이상으로 정확히 식별. 특히 한 이상 샘플은 정상 군집에서 상당히 멀리 떨어져, 높은 신뢰도로 탐지됨&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;위양성(false positive) 0건&lt;/strong&gt; — 세 방법 모두에서 완벽한 분류&lt;/li&gt;
&lt;/ul&gt;
&lt;figure style="margin:1.5rem auto;max-width:600px;"&gt;
&lt;img src="https://siuunni.github.io/uploads/papers/battery_voltage.png"
alt="전압 적합성 점수 분포와 1% 임계값"
style="width:100%;border-radius:8px;border:1px solid rgba(148,163,184,.25);background:#fff;padding:.5rem;"&gt;
&lt;figcaption style="font-size:.8rem;color:#94a3b8;margin-top:.5rem;text-align:center;"&gt;
전압 적합성 점수 분포. 정상(ok)은 낮은 값에 모이고 이상(test_ng)은 큰 값으로 퍼지며, $\alpha=0.01$ 임계값(26.65)을 기준으로 이상이 분리됩니다.
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;→ 전압·온도 양쪽 모두에서 $\alpha=0.01$ 수준의 &lt;strong&gt;통계적으로 보장된 커버리지를 유지하면서&lt;/strong&gt;, 실제·시뮬레이션 데이터 모두 &lt;strong&gt;F1 ≈ 1&lt;/strong&gt; 의 높은 정확도를 달성했습니다.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="시뮬레이션-검증"&gt;시뮬레이션 검증&lt;/h2&gt;
&lt;p&gt;실제 이상 데이터가 적어, 평균 이동·최댓값/최솟값 이동·시간가변 이동 등 다양한 이상 시나리오를 시뮬레이션으로 생성해 방법론의 강건성을 검증했습니다. 대부분의 시나리오에서 &lt;strong&gt;Accuracy·F1·MCC가 0.94~0.99 수준&lt;/strong&gt;으로 안정적이었습니다.&lt;/p&gt;
&lt;figure style="margin:1.5rem 0;"&gt;
&lt;img src="https://siuunni.github.io/uploads/papers/battery_sim.png"
alt="시뮬레이션 데이터 성능 요약 표"
style="width:100%;border-radius:8px;border:1px solid rgba(148,163,184,.25);background:#fff;padding:.5rem;"&gt;
&lt;figcaption style="font-size:.8rem;color:#94a3b8;margin-top:.5rem;text-align:center;"&gt;
시뮬레이션 이상 시나리오별 성능 요약 (Accuracy·Precision·Recall·F1·MCC).
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;hr&gt;
&lt;h2 id="핵심-요약"&gt;핵심 요약&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;라벨 없는 제조 데이터에 맞춘 설계:&lt;/strong&gt; 정상만으로 분포를 학습하는 novelty 탐지로 접근하고, 셀–모듈–팩 계층 구조를 분석 단위에 반영했습니다.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;전압·온도를 특성에 맞게:&lt;/strong&gt; 길이가 일정한 전압엔 FPCA + Mahalanobis 거리를, 길이가 제각각인 온도엔 vd-FPCA를 적용해 각 신호의 패턴을 살렸습니다.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;통계적으로 보장된 판정:&lt;/strong&gt; GMM 기반 등각 예측으로 세 가지 임계값 방법 모두에서 &lt;strong&gt;위양성 없이&lt;/strong&gt; 이상을 전수 식별(F1 ≈ 1)했고, $\alpha=0.01$ 의 커버리지 보장을 확보했습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="참고문헌"&gt;참고문헌&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Johns, J. T., Crainiceanu, C., Zipunnikov, V., &amp;amp; Gellar, J. (2019).
. &lt;em&gt;Journal of Computational and Graphical Statistics&lt;/em&gt;, 28(4), 993–1006.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="출처"&gt;출처&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;배터리 팩 사진
&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>다이캐스팅 공정데이터 이상 탐지</title><link>https://siuunni.github.io/projects/diecasting-anomaly/</link><pubDate>Wed, 10 Dec 2025 00:00:00 +0000</pubDate><guid>https://siuunni.github.io/projects/diecasting-anomaly/</guid><description>&lt;div style="display:grid;grid-template-columns:130px 1fr;gap:1rem 1.5rem;margin-bottom:2rem;"&gt;
&lt;div style="font-weight:700;"&gt;개요&lt;/div&gt;
&lt;div&gt;다이캐스팅 공정의 시계열 패턴을 기반으로 불량을 예측하고, SHAP·CCF로 불량의 주요 원인을 해석한 제조데이터 분석 프로젝트입니다.&lt;/div&gt;
&lt;div style="font-weight:700;"&gt;대회&lt;/div&gt;
&lt;div&gt;제4회 K-인공지능 제조데이터 분석 경진대회 (KAMP, 2024)&lt;/div&gt;
&lt;div style="font-weight:700;"&gt;기간&lt;/div&gt;
&lt;div&gt;2024.10~2024.11(약 2주)&lt;/div&gt;
&lt;div style="font-weight:700;"&gt;데이터&lt;/div&gt;
&lt;div&gt;다이캐스팅 공정 시계열 2,852,465 cells (92,015 rows × 31 columns)&lt;/div&gt;
&lt;div style="font-weight:700;"&gt;기술 스택&lt;/div&gt;
&lt;div&gt;Python · pandas · NumPy · scikit-learn · XGBoost · SHAP · Matplotlib&lt;/div&gt;
&lt;div style="font-weight:700;"&gt;성과&lt;/div&gt;
&lt;div&gt;&lt;strong&gt;Accuracy 0.9970 · Recall 0.9501 · Precision 0.9794 · F1 0.9646&lt;/strong&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;hr&gt;
&lt;h2 id="문제-정의"&gt;문제 정의&lt;/h2&gt;
&lt;p&gt;다이캐스팅은 금형(Die)에 녹인 금속을 고압으로 주입해 제품을 만드는 주조 공법으로, &lt;strong&gt;압력·속도·시간·온도&lt;/strong&gt; 4대 조건을 일정하게 유지하는 것이 중요합니다.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;주요 변수의 &lt;strong&gt;시계열적 특성이 크게 변동&lt;/strong&gt;하거나 일정 패턴을 벗어날 때 불량이 빈번하게 발생합니다.&lt;/li&gt;
&lt;li&gt;현장 관리자는 변수의 실시간 변동은 볼 수 있지만, &lt;strong&gt;그 패턴이 불량에 어떤 영향을 미치는지&lt;/strong&gt; 구체적으로 파악하기 어렵습니다.&lt;/li&gt;
&lt;li&gt;특히 중소기업은 설비 운영이 작업자 경험에 의존해 체계적 관리가 어렵습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;→ &lt;strong&gt;시계열 패턴이 불량에 기여하는 정도를 정량적으로 설명&lt;/strong&gt;하는 모델이 필요합니다.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="접근-방법"&gt;접근 방법&lt;/h2&gt;
&lt;p&gt;불량(수율 영향인자)을 &lt;strong&gt;다섯 가지 관점&lt;/strong&gt;으로 나누어 시계열 특성을 반영했습니다.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;현재 상태&lt;/strong&gt; — 변수의 현재 값이 불량에 미치는 즉각적 영향&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;변동성&lt;/strong&gt; — 일정 기간의 변동성이 품질에 미치는 영향&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;변화 추세&lt;/strong&gt; — 이동평균 기반 장기적 변화 방향의 누적 영향&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;계절성&lt;/strong&gt; — 연중 시기에 따른 품질 변화&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;시간대&lt;/strong&gt; — 하루 중 밤/낮 변화&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h2 id="데이터-전처리--파생변수"&gt;데이터 전처리 &amp;amp; 파생변수&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;롤링 윈도우(window=5)&lt;/strong&gt; 로 각 공정 변수의 이동평균과 이동 변동계수를 생성했습니다. 변수 특성에 따라 금형코드·가열로 단위로 그룹화하여 계산했습니다.&lt;/li&gt;
&lt;li&gt;시계열 특성을 위해 연중 며칠째인지(계절성)와 하루 중 시간대의 주기성을 나타내는 파생변수를 추가했습니다.&lt;/li&gt;
&lt;li&gt;유효 범위 외 이상치는 결측 처리 후 평균으로 대체하여 일관성을 유지했고, 데이터 &lt;strong&gt;완전성·정확성·무결성 품질지수 100&lt;/strong&gt;을 달성했습니다.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;T-검정 결과 모든 파생변수의 p-value &amp;lt; 0.05&lt;/strong&gt; 로, 생성 변수가 품질에 유의한 영향을 미침을 확인했습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="ccf-분석--시차를-고려한-영향력-검증"&gt;CCF 분석 — 시차를 고려한 영향력 검증&lt;/h2&gt;
&lt;p&gt;교차상관함수(Cross-Correlation Function)로 각 공정 변수가 &lt;strong&gt;지연 시간(lag)&lt;/strong&gt; 에 따라 불량 판정에 미치는 상관관계를 분석했습니다.&lt;/p&gt;
&lt;figure style="margin:1.5rem auto;max-width:560px;"&gt;
&lt;img src="https://siuunni.github.io/uploads/papers/diecast_ccf.png"
alt="변수의 지연시간에 따른 CCF"
style="width:100%;border-radius:8px;border:1px solid rgba(148,163,184,.25);background:#fff;padding:.5rem;"&gt;
&lt;figcaption style="font-size:.8rem;color:#94a3b8;margin-top:.5rem;text-align:center;"&gt;
변수의 지연시간(lag)에 따른 CCF. CCF가 양수면 변수 증가 시 불량 확률 증가, 음수면 정상 확률 증가를 의미합니다.
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;hr&gt;
&lt;h2 id="예측-모델--xgboost"&gt;예측 모델 — XGBoost&lt;/h2&gt;
&lt;p&gt;금형코드·가열로 같은 범주형 변수와 비선형 상호작용이 많은 제조데이터 특성에 강점이 있는 &lt;strong&gt;XGBoost&lt;/strong&gt;를 채택했습니다.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;클래스 불균형 처리:&lt;/strong&gt; 불량 비율이 낮은 문제를 보정하기 위해 불량 클래스에 더 높은 가중치를 부여했습니다.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;데이터 분할:&lt;/strong&gt; 클래스 비율을 유지하며 학습·검증·테스트로 분할했습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style="text-align: left"&gt;모델&lt;/th&gt;
&lt;th style="text-align: center"&gt;Accuracy&lt;/th&gt;
&lt;th style="text-align: center"&gt;Recall&lt;/th&gt;
&lt;th style="text-align: center"&gt;Precision&lt;/th&gt;
&lt;th style="text-align: center"&gt;F1 Score&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="text-align: left"&gt;Random Forest&lt;/td&gt;
&lt;td style="text-align: center"&gt;0.9965&lt;/td&gt;
&lt;td style="text-align: center"&gt;0.9377&lt;/td&gt;
&lt;td style="text-align: center"&gt;0.9817&lt;/td&gt;
&lt;td style="text-align: center"&gt;0.9592&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: left"&gt;AdaBoost&lt;/td&gt;
&lt;td style="text-align: center"&gt;0.9936&lt;/td&gt;
&lt;td style="text-align: center"&gt;0.8928&lt;/td&gt;
&lt;td style="text-align: center"&gt;0.9572&lt;/td&gt;
&lt;td style="text-align: center"&gt;0.9239&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: left"&gt;Decision Tree&lt;/td&gt;
&lt;td style="text-align: center"&gt;0.9957&lt;/td&gt;
&lt;td style="text-align: center"&gt;0.9327&lt;/td&gt;
&lt;td style="text-align: center"&gt;0.9664&lt;/td&gt;
&lt;td style="text-align: center"&gt;0.9492&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: left"&gt;&lt;strong&gt;XGBoost&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align: center"&gt;&lt;strong&gt;0.9970&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align: center"&gt;&lt;strong&gt;0.9501&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align: center"&gt;&lt;strong&gt;0.9794&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align: center"&gt;&lt;strong&gt;0.9646&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="xai--shap-기반-불량-원인-해석"&gt;XAI — SHAP 기반 불량 원인 해석&lt;/h2&gt;
&lt;p&gt;SHAP(Shapley Additive Explanations)로 각 변수가 불량 발생에 기여하는 정도를 정량화했습니다. 각 변수를 현재상태/변화추세/변동성 특성으로 나누어 합산했습니다.&lt;/p&gt;
&lt;figure style="margin:1.5rem 0;"&gt;
&lt;img src="https://siuunni.github.io/uploads/papers/diecast_shap_combined.png"
alt="요인별 품질 기여도 및 주요 변수별 SHAP 통합 그래프"
style="width:100%;border-radius:8px;border:1px solid rgba(148,163,184,.25);background:#fff;padding:.5rem;"&gt;
&lt;figcaption style="font-size:.8rem;color:#94a3b8;margin-top:.5rem;text-align:center;"&gt;
요인별 품질 기여도(좌)와 변수별 종합 영향(우). 빨간색은 품질 저하 요인, 파란색은 개선 요인. &lt;strong&gt;lower_mold_temp1, upper_mold_temp2&lt;/strong&gt; 등 금형 온도 변수가 주요 불량 인자로 나타났습니다.
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h3 id="개별-생산품-진단-예시"&gt;개별 생산품 진단 예시&lt;/h3&gt;
&lt;figure style="margin:1.5rem 0;"&gt;
&lt;img src="https://siuunni.github.io/uploads/papers/diecast_shap_abnormal.png"
alt="비정상으로 분류된 11번 생산품 SHAP 분석"
style="width:100%;border-radius:8px;border:1px solid rgba(148,163,184,.25);background:#fff;padding:.5rem;"&gt;
&lt;figcaption style="font-size:.8rem;color:#94a3b8;margin-top:.5rem;text-align:center;"&gt;
&lt;strong&gt;불량 생산품(11번):&lt;/strong&gt; 현재 상태와 변동성이 큰 품질 저하 요인. upper_mold_temp1·lower_mold_temp1의 온도 현재 상태가 불량에 강하게 기여.
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure style="margin:1.5rem 0;"&gt;
&lt;img src="https://siuunni.github.io/uploads/papers/diecast_shap_normal.png"
alt="정상으로 분류된 4번 생산품 SHAP 분석"
style="width:100%;border-radius:8px;border:1px solid rgba(148,163,184,.25);background:#fff;padding:.5rem;"&gt;
&lt;figcaption style="font-size:.8rem;color:#94a3b8;margin-top:.5rem;text-align:center;"&gt;
&lt;strong&gt;정상 생산품(4번):&lt;/strong&gt; 대부분 변수가 품질 개선에 기여. molten_temp가 일부 저하 요인이나 다른 변수가 이를 상쇄.
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;hr&gt;
&lt;h2 id="기대-효과"&gt;기대 효과&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;체계적 공정관리:&lt;/strong&gt; 제품 생산 시점마다 공정 변수의 현재 상태·변동성을 평가해 품질 저하 요인을 즉시 조정할 수 있습니다.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;비용 절감:&lt;/strong&gt; 가벼운 트리 기반 모델로 고성능 컴퓨팅 자원 없이 수 분 내 분석 및 해석이 가능합니다.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;확장성:&lt;/strong&gt; 온도 및 습도를 다루는 다른 제조 공정(예: 레진 도포, 경화)으로도 확장 가능하며, 불균형한 범주형 데이터에서 &lt;strong&gt;F1 0.980&lt;/strong&gt;의 높은 예측력을 보였습니다.&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>