refactor: 분석 페이지 코드 정돈 및 AI 엔진 고도화 통합
This commit is contained in:
@@ -5,8 +5,6 @@
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>데이터 분석 - Project Master Sabermetrics</title>
|
||||
<link rel="stylesheet" as="style" crossorigin
|
||||
href="https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.min.css" />
|
||||
<link rel="stylesheet" href="style/common.css">
|
||||
<link rel="stylesheet" href="style/analysis.css">
|
||||
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
|
||||
@@ -28,21 +26,21 @@
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<main class="analysis-content wide">
|
||||
<main class="analysis-content">
|
||||
<header class="analysis-header">
|
||||
<div class="title-group">
|
||||
<div class="ai-badge">AI Sabermetrics</div>
|
||||
<h2>시스템 운영 빅데이터 분석</h2>
|
||||
<p>수집된 활동 로그 및 문의사항 데이터를 기반으로 한 통계적 성능 지표 (Beta)</p>
|
||||
<p>수집된 활동 로그 및 자산 데이터를 기반으로 한 통계적 성능 지표 (Beta)</p>
|
||||
</div>
|
||||
<div class="analysis-actions">
|
||||
<button class="btn-refresh" onclick="location.reload()">데이터 갱신</button>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<!-- 상단 정보 영역 -->
|
||||
<div class="top-info-grid">
|
||||
<!-- 딥러닝 모델 상세 설명 섹션 -->
|
||||
<section class="dl-model-info compact">
|
||||
<section class="dl-model-info">
|
||||
<div class="card-header">
|
||||
<h4><i class="ai-icon">AI</i> Hybrid Prediction Engine</h4>
|
||||
</div>
|
||||
@@ -50,86 +48,83 @@
|
||||
<div class="model-desc-vertical">
|
||||
<div class="model-item-vertical">
|
||||
<span class="model-tag">알고리즘</span>
|
||||
<p>최근 9회차 시계열의 <strong>Velocity</strong> 및 가속도 분석</p>
|
||||
<p>최근 9회차 시계열의 Velocity 및 가속도 분석</p>
|
||||
</div>
|
||||
<div class="model-item-vertical">
|
||||
<span class="model-tag">판단 로직</span>
|
||||
<p>활동 시 <strong>'선형 추세'</strong>, 정체 시 <strong>'지수 감쇄'</strong> 가중치 적용</p>
|
||||
<p>활동 시 '선형 추세', 정체 시 '지수 감쇄' 가중치 적용</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- SOI 심층 설명 섹션 (AAS 모델 반영) -->
|
||||
<section class="soi-deep-dive compact">
|
||||
<section class="soi-deep-dive">
|
||||
<div class="card-header">
|
||||
<h4><i class="info-icon">i</i> AI 위험 적응형 모델 (AAS) 기반 지표 정의</h4>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="soi-info-columns">
|
||||
<div class="soi-info-column">
|
||||
<h6>1. AI 자산 가치 평가 (Scale)</h6>
|
||||
<p>단순 방치가 아닌 <strong>자산의 크기</strong>를 감지합니다. 파일 수가 많은 프로젝트는 관리 공백 시 데이터 가치 하락 속도를 AI가 자동으로 <strong>가속(Acceleration)</strong>시켜 경고를 강화합니다.</p>
|
||||
<h6>1. AI 자산 가치 평가</h6>
|
||||
<p>자산 규모를 감지하여, 대형 프로젝트 방치 시 데이터 가치 하락 속도를 <strong>가속(Acceleration)</strong>시킵니다.</p>
|
||||
</div>
|
||||
<div class="soi-info-column">
|
||||
<h6>2. 조직 위험 전염 (Contagion)</h6>
|
||||
<p>부서별 평균 활동성을 분석하여 <strong>조직적 방치</strong>를 포착합니다. 소속 부서의 전반적인 SOI가 낮을 경우, 개별 프로젝트의 위험 지수를 상향 조정하여 시스템적 붕괴를 예보합니다.</p>
|
||||
<h6>2. 조직 위험 전염</h6>
|
||||
<p>소속 부서의 전반적인 활동성이 낮을 경우, 개별 위험 지수를 상향 조정하여 <strong>시스템적 붕괴</strong>를 예보합니다.</p>
|
||||
</div>
|
||||
<div class="soi-info-column">
|
||||
<h6>3. 동적 위험 계수 (Adaptive Lambda)</h6>
|
||||
<p>기존의 고정된 공식을 폐기하고, 프로젝트마다 <strong>개별화된 위험 곡선</strong>을 생성합니다. AI가 실시간으로 위험 계수를 재산출하여 가장 실무적인 가치 보존율을 제공합니다.</p>
|
||||
<h6>3. 동적 위험 계수</h6>
|
||||
<p>프로젝트마다 <strong>개별화된 위험 곡선</strong>을 생성하여 현장에 가장 밀착된 가치 보존율을 제공합니다.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
<!-- 메인 분석 영역 -->
|
||||
<div class="analysis-main-full">
|
||||
<div class="analysis-card timeline-analysis">
|
||||
<div class="card-header">
|
||||
<div style="display: flex; flex-direction: column; gap: 4px;">
|
||||
<h4>Project Stagnation Objective Index (P-SOI Status)</h4>
|
||||
<p style="font-size: 11px; color: #888; margin: 0;">이상적 관리 상태(100%) 대비 현재의 활동 가치 보존율 및 14일 뒤 미래를 예측합니다.</p>
|
||||
</div>
|
||||
<div class="card-tools">
|
||||
<span id="avg-system-info" style="font-size: 11px; color: #888;">* SOI (Project Health Score)</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="d-war-guide">
|
||||
<div class="guide-item active-low"><span>70%↑</span> 정상</div>
|
||||
<div class="guide-item warning-mid"><span>30~70%</span> 주의</div>
|
||||
<div class="guide-item danger-high"><span>10~30%</span> 위험</div>
|
||||
<div class="guide-item hazard-critical"><span>10%↓</span> 사망</div>
|
||||
</div>
|
||||
|
||||
<!-- 차트 그리드 레이아웃 도입 -->
|
||||
<div class="analysis-charts-grid">
|
||||
<div class="chart-container-box">
|
||||
<h5>건강 상태 분포 (Project Distribution)</h5>
|
||||
<canvas id="statusChart"></canvas>
|
||||
</div>
|
||||
<div class="chart-container-box">
|
||||
<h5>관리 사각지대 진단 (Vitality Scatter Plot)</h5>
|
||||
<canvas id="forecastChart"></canvas>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 메인 분석 차트 영역 -->
|
||||
<div class="analysis-charts-grid">
|
||||
<div class="chart-container-box">
|
||||
<h5>건강 상태 분포 (Project Distribution)</h5>
|
||||
<canvas id="statusChart"></canvas>
|
||||
</div>
|
||||
<div class="chart-container-box">
|
||||
<h5>프로젝트 SWOT 매트릭스 (Strategic Analysis)</h5>
|
||||
<canvas id="forecastChart"></canvas>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="p-war-table-container">
|
||||
<!-- 테이블은 기존처럼 동적 삽입 -->
|
||||
</div>
|
||||
<!-- 리더보드 영역 -->
|
||||
<div class="analysis-card timeline-analysis">
|
||||
<div class="card-header">
|
||||
<div style="display: flex; flex-direction: column; gap: 4px;">
|
||||
<h4>Project Stagnation Objective Index (P-SOI Status)</h4>
|
||||
<p style="font-size: 11px; color: #888; margin: 0;">이상적 관리 상태(100%) 대비 활동 보존율 및 미래 예측 리더보드</p>
|
||||
</div>
|
||||
<div class="card-tools">
|
||||
<span id="avg-system-info" style="font-size: 11px; color: #888;">* SOI (Project Health Score)</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="d-war-guide">
|
||||
<div class="guide-item active-low"><span>70%↑</span> 정상</div>
|
||||
<div class="guide-item warning-mid"><span>30~70%</span> 주의</div>
|
||||
<div class="guide-item danger-high"><span>10~30%</span> 위험</div>
|
||||
<div class="guide-item hazard-critical"><span>10%↓</span> 사망</div>
|
||||
</div>
|
||||
|
||||
<div id="p-war-table-container">
|
||||
<!-- JS에 의해 동적으로 테이블 삽입 -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<!-- 분석 상세 설명 모달 -->
|
||||
<div id="analysisModal" class="modal-overlay" onclick="closeAnalysisModal(event)">
|
||||
<div class="modal-content" onclick="event.stopPropagation()">
|
||||
<!-- 설명 모달 -->
|
||||
<div id="analysisModal" class="modal-overlay" onclick="if(event.target===this) closeAnalysisModal()">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h3 id="modalTitle">지표 상세 설명</h3>
|
||||
<button class="modal-close" onclick="closeAnalysisModal()">×</button>
|
||||
<h3 id="modalTitle">분석 상세</h3>
|
||||
<button class="btn-close" onclick="closeAnalysisModal()">×</button>
|
||||
</div>
|
||||
<div class="modal-body" id="modalBody">
|
||||
<!-- 내용 동적 삽입 -->
|
||||
|
||||
Reference in New Issue
Block a user