Heesoo Research Dashboard

Current PDF Ch1-6 · Dissertation flow Ch4, Ch5, Ch6, Ch7 timing

{{ t('languageLabel') }}
Regions: 5337 / 5338 / 6240  |  Cells: {{ summary.length }}
Last refresh: {{ lastSummaryLoadedAt || '—' }} Loading... {{ globalError }}

THESIS DRAFT

논문 원고 PDF

현재 대시보드에 등록된 박사논문 원고입니다. Chapters 1-8까지 포함한 PDF를 여기에서 바로 열거나 다운로드할 수 있습니다. Chapter 7은 validation-gated daily timing diagnostics 장으로, Chapter 8은 결론 장으로 포함했습니다.

{{ thesisDraftError }}
논문 PDF 정보를 불러오는 중...
{{ thesisDraft.filename }}
{{ formatSize(thesisDraft.size_bytes) }} · {{ thesisDraft.modified_at || '—' }}
{{ thesisDraft.chapter_scope }}
{{ thesisDraft.source_record }}
서버에 논문 PDF 파일이 아직 없습니다.
Chapter {{ draft.chapter }} draft
{{ draft.label }}
{{ draft.description }}
{{ draft.filename }} · {{ draft.exists ? formatSize(draft.size_bytes) : '파일 생성 대기' }} · {{ draft.modified_at || '—' }}
{{ draft.source_record }}
PDF 열기 PDF 다운로드 파일 생성 대기
장별 PDF 생성 상태를 확인해야 합니다: {{ thesisDraft.chapter_generation_error }}

장별 PDF 다운로드

논문을 1장부터 8장까지 따로 내려받을 수 있습니다. 페이지 범위는 thesis/main.toc 기준입니다.

{{ thesisDraft.available_chapter_download_count || 0 }} / {{ thesisDraft.chapter_download_count || thesisDraft.chapter_downloads.length }} ready
Chapter {{ chapter.chapter }}
pp. {{ chapter.page_range }}
{{ chapter.title }}
{{ chapter.exists ? formatSize(chapter.size_bytes) : '파일 생성 대기' }}
열기 다운로드 파일 생성 대기

Chapter 7 figures

7장 설명 figure 후보 업로드

7장에 넣을 흐름도, COLD/VZA 설명도, validation/application 구조도, 셀 예시 보조 그림을 따로 보관합니다. 업로드된 그림은 미리보기로 확인하고, 본문 어느 절에 들어갈지 검토합니다.

{{ chapter7FigureInfo?.upload_enabled ? 'upload open' : 'upload closed' }}
{{ chapter7FigureError }}
7장 figure 후보를 불러오는 중...

업로드 입력

공개 서버에서는 기본적으로 닫혀 있습니다. 업로드를 열려면 서버 실행 환경에서 HEESOO_CHAPTER7_FIGURE_UPLOAD_ENABLED=1을 설정합니다.

{{ chapter7FigureUploadError }}
업로드됨: {{ chapter7FigureUploadResult.upload.original_filename }}
허용 확장자: {{ chapter7FigureInfo?.allowed_suffixes?.join(', ') || '—' }} · 최대 {{ formatSize(chapter7FigureInfo?.max_bytes) }}

업로드된 figure 후보

{{ chapter7FigureUploads.length }} files
아직 업로드된 7장 figure 후보가 없습니다.
{{ figure.original_filename }}
{{ figure.uploaded_at || '—' }} · {{ figure.suffix }} · {{ formatSize(figure.size_bytes) }}
{{ figure.figure_role || 'role 미입력' }} · {{ figure.suggested_section || '위치 미정' }}

{{ figure.description }}

7장 배치 기준

{{ item.figure_type }}
{{ item.recommended_location }}
{{ item.use }}
current scope
Chapters 1-8
Chapter 7 daily timing diagnostics + Chapter 8 Conclusion 포함
dashboard location
논문 원고 탭
연구 파트/참고문헌 탭에도 보조 링크 유지
download
대시보드에서 직접 다운로드
메일 전송 없이 관리

Research Parts

연구 파트 구성

논문/발표 흐름은 4장/Part 1 → 5장/Part 2 → 6장/Part 4 → 7장/Part 3 순서로 둡니다. 기능 탭 이름은 데이터 추적성을 위해 기존 Part 3/Part 4를 유지합니다.

{{ partsError }}
연구 파트 정보를 불러오는 중...

THESIS PDF

현재 논문 원고 PDF

Chapters 1-8까지 포함한 현재 원고 PDF입니다. Chapter 7은 validation-gated daily timing diagnostics 장으로, Chapter 8은 결론 장으로 포함했습니다. 대시보드에서 바로 열거나 다운로드할 수 있습니다.

{{ thesisDraftError }}
논문 PDF 정보를 불러오는 중...
{{ thesisDraft.filename }} · {{ formatSize(thesisDraft.size_bytes) }} · {{ thesisDraft.modified_at || '—' }}
PDF 열기 PDF 다운로드 서버에 파일이 아직 없습니다.

PROJECT MAP

전체 연구 플로우 차트

논문, 발표자료, 대시보드의 전체 연구 흐름을 하나의 차트 파일로 관리합니다. 최신 업로드 파일은 여기에서 바로 확인합니다.

{{ flowchartError }}
플로우 차트 정보를 불러오는 중...
{{ latestFlowchart.original_filename }}
{{ latestFlowchart.uploaded_at || '—' }} · {{ latestFlowchart.suffix }} · {{ formatSize(latestFlowchart.size_bytes) }}

{{ latestFlowchart.description }}

다운로드
전체 연구 플로우 차트 미리보기
업로드된 전체 연구 플로우 차트가 없습니다.
{{ part.label }} {{ part.thesis_chapter }} {{ part.status_label || part.status }}

{{ part.title }}

{{ part.question }}

단위
{{ part.unit }}

방법론

{{ method }}

핵심 변수

  • -{{ item }}

주의 / 상태

  • -{{ note }}
연결 데이터셋: {{ part.dataset_count }}
정리된 참고문헌: {{ part.reference_count }}

Speaker Deck

파트별 발표자료

발표 순서는 4장/Part 1 → 5장/Part 2 → 6장/Part 4 → 7장/Part 3입니다. 각 파트를 2장씩 나눠 목적, 방법론, 결과, 결론과 사용 데이터 설명을 압축했습니다.

{{ slide.part }} {{ slide.sequence }} {{ slide.kind }}

{{ slide.title }}

{{ slide.deckNo }}
HEESOO PHD

Core Message

{{ slide.thesis }}

{{ metric.label }}
{{ metric.value }}
{{ metric.note }}

{{ block.label }}

{{ block.text }}

{{ slide.boundary }}
Data: {{ slide.dataDescription }}
{{ slide.sources.join(' · ') }}

Dashboard Updates

업데이트 / 작업 현황

현재 대시보드에서 진행·완료된 작업과 직전 업데이트 내용을 한곳에 정리합니다.

{{ updatesError }}

To-do

To-do 창

불러오는 중...
  • {{ item.title }} {{ item.status }}

    {{ item.detail }}

Last update

직전 업데이트 요약

{{ dashboardLastUpdate.date }}
{{ dashboardLastUpdate.title }}
  • {{ bullet }}

References & Materials

참고문헌/자료

Part 1 PSM-DID/SDID 신칸센 역세권 연구에 맞춰 선행연구와 hotspot trajectory 메커니즘 참고문헌을 한곳에 정리했습니다.

대표 문헌: What matters in promoting new town by High-Speed Railway station? Evidence from China

{{ referencesError }}
참고문헌 정보를 불러오는 중...

THESIS DRAFT

현재 논문 원고 PDF

본문 작성용 PDF를 참고문헌/자료와 같은 자료 화면에서도 열람·다운로드할 수 있도록 고정했습니다.

{{ thesisDraft.filename }} · {{ formatSize(thesisDraft.size_bytes) }}

{{ thesisDraftError }}

PDF 열기 PDF 다운로드 서버에 파일이 아직 없습니다.

SUBMISSION DOCUMENTS

제출 서류

교수님 코멘트를 반영해 다시 작성한 제출용 설명자료와 편집 가능한 DOCX, 코멘트 대응 메모입니다.

{{ submissionDocuments.length }} files

다운로드 자료

로컬 원문 PDF와 Part 1 참고문헌 스캔 정리문서를 다운로드 자료로 보관합니다. DOI-only 문헌은 참고문헌 카드의 DOI 링크로 연결합니다.

{{ materials.length }} files

FORMULA COLLECTION

공식 모음집

현재 논문 본문에 들어간 numbered equation을 한곳에 모았습니다. 각 식은 논문 라벨, 장 번호, 식의 역할, 의미 설명, 변수 설명과 함께 정리했습니다.

{{ formulaCollection?.formula_count || 0 }} equations {{ formulaCollection?.source_record || 'source loading' }} updated {{ formulaCollection?.updated_at || '—' }}
{{ formulaCollectionError }}
공식 모음집을 불러오는 중...
Chapter {{ chapter.chapter }}
{{ chapter.title }}
{{ chapter.formula_count }} formulas

KEY VARIABLES

중요 변수 설명

{{ formulaImportantVariables.length }} variables
{{ variable.label }}
Ch {{ variable.chapters.join(', ') }}
{{ variable.symbol }}

{{ variable.meaning }}

EQUATIONS

논문 수식 목록

장 번호, 역할, 키워드로 필터링할 수 있습니다. 검색은 식 라벨, 제목, 의미, 변수 설명까지 포함합니다.

showing {{ filteredFormulas.length }} / {{ formulaCollection?.formula_count || 0 }}
Chapter {{ formula.chapter }} {{ formula.role }} {{ formula.label }}

{{ formula.title }}

{{ formula.section }}

\[ {{ formula.latex }} \]

{{ formula.meaning }}

해석 포인트
  • {{ point }}
{{ keyVar }}
변수 의미
{{ variable.symbol }} {{ variable.meaning }}
해당 조건에 맞는 수식이 없습니다.

PART 4 · RESEARCH PACKET

Part 4 연구·원고 관리

업로드된 원고를 Part 4 원천자료로 보존하고, 주장·수치·방법론·부록 매핑을 대시보드에서 검증 가능한 연구 패킷으로 관리합니다.

신규 업로드 창은 닫았습니다. 기존 원고와 메타데이터는 목록에서 계속 확인할 수 있습니다.

{{ part4UploadsError }}
Part 4 원고 목록을 불러오는 중...
{{ part4ResultsError }}
Part 4 연구 요약을 불러오는 중...

PART 4 RESEARCH · Utsunomiya LRT

{{ part4Results.title }}

{{ part4Results.headline }}

{{ part4Results.source?.original_filename }}
{{ part4Results.source?.uploaded_at }}
case
{{ part4Results.study_design?.case }}
{{ part4Results.study_design?.route }}
micro scale
19 stations · 500m buffer
monthly VIIRS NTL, approval / construction / operation phases
macro scale
RF annual land-use maps
GHSL / CORINE / NLCD transfer + Japan L03 validation

연구 목적

  • -{{ item }}
{{ milestone.date }}
{{ milestone.label }}
{{ milestone.note }}

방법론 구조

{{ method.label }}
{{ method.scope }}
{{ tag }}

{{ method.interpretation }}

Station-level NTL 결과 해석

{{ phase.window }}

{{ phase.phase }}

  • -{{ item }}

RF land-use 성능

datasetafterbefore
{{ row.dataset }} {{ fmt(row.accuracy) }} {{ fmt(row.before_consolidation) }}
dataseturbansuburbanrural
{{ row.dataset }} {{ fmt(row.urban) }} {{ fmt(row.suburban) }} {{ fmt(row.rural) }}

해석과 thesis 위치

  • -{{ item }}
{{ item }}

claim boundary / 보완 필요

  • {{ item }}

APPENDIX · Part 4 manuscript

부록 · land-use class harmonization

원고 부록의 GHSL, NLCD, CORINE 원분류를 Urban / Sub-urban / Rural / Excluded로 통합한 기준입니다. RF 성능과 L03 validation을 해석할 때 사용하는 분류체계 근거입니다.

{{ part4Results.appendix.source_note }}

{{ group.label }}

{{ group.code_label }} {{ group.class_label }} Unified Class
{{ row.code }} {{ row.source_class }} {{ row.unified_class }}

원고 업로드 접수 종료

신규 파일 업로드 창은 닫았습니다. 현재 반영된 원고와 부록 근거만 관리합니다.

{{ part4UploadInfo?.upload_enabled ? 'upload open' : 'upload closed' }}
현재 공개 대시보드에서는 새 원고를 받지 않습니다.

Part 4 원고 `jsce-ip-D-25-00032R1.docx`와 추출 텍스트, class harmonization 부록, 슬라이드용 데이터 설명은 이미 관리 대상에 포함했습니다. 추가 원고가 필요한 경우 서버 환경에서 `HEESOO_PART4_UPLOAD_ENABLED=1`을 명시적으로 설정한 뒤 임시로 다시 열 수 있습니다.

관리 기준

저장 위치
Part 4 manuscript intake 전용 저장소와 메타데이터 파일
최대 크기
{{ formatSize(part4UploadInfo?.max_bytes) }}
허용 확장자
{{ suffix }}
다음 처리
신규 접수는 닫고, 현재 원고의 주장, 근거, 방법론, citation과 기존 Part 1/2/3 evidence의 충돌 여부만 계속 검토합니다.

업로드된 Part 4 원고

파일명, 설명, 업로드 시각, 크기를 기록하고 원본 파일을 다시 내려받을 수 있습니다.

{{ part4Uploads.length }} files
아직 업로드된 Part 4 원고가 없습니다.
파일 설명 업로드 크기 다운로드
{{ upload.original_filename }}
{{ upload.suffix }} · {{ upload.id }}
{{ upload.description || '설명 없음' }} {{ upload.uploaded_at || '—' }} {{ formatSize(upload.size_bytes) }} 열기

PART 5 · SANDBOX

Part 5 실험용 테스트 공간

아직 논문 장이나 evidence claim으로 확정하지 않은 아이디어를 따로 시험하는 공간입니다. 기존 Part 1-4와 Chapter 4-7의 증거 위계는 그대로 둡니다.

{{ part5SandboxError }}
Part 5 sandbox를 불러오는 중...

sandbox status

{{ part5Sandbox.title }}

{{ part5Sandbox.headline }}

{{ part5Sandbox.status }}
{{ slot.state }}

{{ slot.label }}

{{ slot.purpose }}

claim boundary

  • {{ item }}

next actions

테스트 시작 전 체크

thesis role: {{ part5Sandbox.thesis_role }}
  1. {{ idx + 1 }} {{ item }}

land-use first test

{{ part5LanduseResult.title }}

{{ part5LanduseResult.headline }}

{{ part5LanduseSummary?.evidence_label || 'exploratory' }}

change records

{{ fmtInt(part5LanduseSummary?.selected_landuse_change_records) }}

2014→2016 / 2016→2021

unique cells

{{ fmtInt(part5LanduseSummary?.selected_unique_cells) }}

land-use changed first

annual NTL rows

{{ fmtInt(part5LanduseSummary?.annual_ntl_rows) }}

yearly cell summaries

NTL observations

{{ fmtInt(part5LanduseSummary?.matched_ntl_observation_rows) }}

filtered daily rows matched

included regions
{{ (part5LanduseSummary?.included_regions || []).join(', ') }}
excluded anchor coverage
{{ row.region }} · missing {{ (row.missing_anchor_years || []).join(', ') }}

Part 3 parameter calibration

{{ part5ParameterResult.title }}

{{ part5ParameterResult.headline }}

{{ part5ParameterSummary?.evidence_label || 'exploratory' }}

sample cells

{{ fmtInt(part5ParameterSummary?.sample_cells) }}

changed sample

{{ fmtInt(part5ParameterSummary?.changed_sample_cells) }}

stable-null

{{ fmtInt(part5ParameterSummary?.stable_null_sample_cells) }}

parameter sets

{{ fmtInt((part5ParameterSummary?.parameter_sets || []).length) }}

matched rows

{{ fmtInt(part5ParameterSummary?.matched_timeseries_rows) }}
{{ rec.objective }}

{{ rec.recommended_parameter_set_id }}

{{ rec.recommended_label }}

changed any
{{ fmtPct(rec.changed_pass_any_rate) }}
changed multi
{{ fmtPct(rec.changed_multi_vza_rate) }}
stable any
{{ fmtPct(rec.stable_pass_any_rate) }}
factory any
{{ fmtPct(rec.factory_pass_any_rate) }}
파라미터 읽는 방법
  • {{ item }}

sensitivity figures

랜드유즈별·변화수준별 sensitivity 그림

class별 pass-any/multi-VZA, 지역별 sensitivity, stable-null 위험, turnover 및 단일 class 변화폭별 검출률을 그림으로 정리했습니다.

figures {{ fmtInt(part5Sandbox?.parameter_figures?.figure_count) }} · sample {{ fmtInt(part5Sandbox?.parameter_figures?.sample_cells) }}

{{ fig.title }}

{{ fig.description }}

PNG 열기

AI/ML detectability model

{{ part5AiModelResult.title }}

{{ part5AiModelResult.headline }}

{{ part5AiModelResult.evidence_label || 'exploratory' }}

target rows

{{ fmtInt(part5AiModelPrimary?.training_rows) }}

positive labels

{{ fmtInt(part5AiModelPrimary?.positives) }}

ROC AUC

{{ fmtNum(part5AiModelPrimary?.roc_auc, 3) }}

avg precision

{{ fmtNum(part5AiModelPrimary?.average_precision, 3) }}

top-k recall

{{ fmtPct(part5AiModelPrimary?.top_k_recall) }}
AI모델 해석 경계
  • {{ item }}

모델별 검증 요약

model pos AUC AP top-k recall
{{ row.model_id }} {{ fmtInt(row.positives) }} {{ fmtNum(row.roc_auc, 3) }} {{ fmtNum(row.average_precision, 3) }} {{ fmtPct(row.top_k_recall) }}

{{ part5AiModelPrimary?.model_id || 'primary model' }} transition group

group cells actual score
{{ row.transition_group }} {{ fmtInt(row.cells) }} {{ fmtPct(row.actual_pass_any_rate) }} {{ fmtPct(row.mean_predicted_probability) }}

{{ fig.title }}

{{ fig.description }}

PNG 열기

ratio-aware transition AI

랜드유즈 비율 변화 soft attribution 모델

MLIT L03-b-u의 class별 gain/loss ratio를 target으로 두고, NTL/COLD/VZA feature만 사용해 후보 셀 내부의 변화 방향을 추정합니다. Random Forest/ExtraTrees와 PyTorch MLP 후보를 같은 region-grouped validation으로 비교합니다.

{{ part5LanduseTransitionModelComparison?.status || part5LanduseTransitionAiResult?.status || 'sandbox' }}

training rows

{{ fmtInt(part5LanduseTransitionBestMetric?.training_rows || part5LanduseTransitionAiResult?.training_rows) }}

target outputs

{{ fmtInt(part5LanduseTransitionBestMetric?.target_outputs || part5LanduseTransitionAiResult?.target_outputs) }}

selected model

{{ part5LanduseTransitionModelComparison?.best_model_id || part5LanduseTransitionAiResult?.model_id || '-' }}

change mass MAE

{{ fmtNum(part5LanduseTransitionBestMetric?.change_mass_mae, 3) }}

applied cells

{{ fmtInt(part5LanduseTransitionModelComparison?.applied_candidate_rows || part5LanduseTransitionAiResult?.applied_candidate_rows) }}
해석 경계

{{ part5LanduseTransitionModelComparison?.claim_boundary || part5LanduseTransitionAiResult?.claim_boundary || 'Exploratory soft attribution only; predicted ratios are not observed MLIT land-use changes.' }}

모델 비교 지표

model mass MAE all MAE gain loss transition
{{ row.model_id }} {{ fmtNum(row.change_mass_mae, 3) }} {{ fmtNum(row.mean_absolute_error_all_ratio_outputs, 3) }} {{ fmtNum(row.change_mass_r2, 3) }} {{ fmtPct(row.top_gain_accuracy) }} {{ fmtPct(row.top_loss_accuracy) }} {{ fmtPct(row.top_transition_accuracy) }}

적용 후보 transition 상위

predicted transition cells
{{ row.predicted_transition || row.index }} {{ fmtInt(row.cells) }}

{{ fig.title }}

{{ fig.description }}

PNG 열기

what was analyzed

Part 5에서 실제로 한 분석

{{ step.label }}

{{ step.title }}

{{ step.body }}

  • {{ fact }}

result interpretation

핵심 결과 요약

{{ item.label }}

{{ item.value }}

{{ item.body }}

읽는 방법
  • {{ item }}

source and verification

재현성 기록

{{ item.label }}
{{ item.value || '-' }}

threshold summary

검출 폭과 NTL 방향

interval rule records PyCOLD any increase decrease median ΔDNB
{{ row.interval }} {{ row.selection_rule }} {{ fmtInt(row.records) }} {{ fmtPct(row.pycold_pass_any_rate) }} {{ fmtPct(row.ntl_increase_rate) }} {{ fmtPct(row.ntl_decrease_rate) }} {{ fmtNum(row.median_anchor_delta_mean_dnb, 3) }}

parameter grid

Part 3 후보 파라미터별 표본 성능

set COLD persist changed any changed multi stable any factory any
{{ row.parameter_set_id }}
{{ row.parameter_label }}
tcg {{ fmtNum(row.t_cg, 4) }} / c{{ row.conse }} {{ row.min_post_days }}d · obs{{ row.min_post_obs }} · z{{ row.min_shift_z }} · pf{{ row.min_persist_frac }} {{ fmtPct(row.changed_pass_any_rate) }} {{ fmtPct(row.changed_multi_vza_rate) }} {{ fmtPct(row.stable_pass_any_rate) }} {{ fmtPct(row.factory_pass_any_rate) }}

transition summary

상위 land-use transition

rule interval transition records PyCOLD any increase decrease
{{ row.selection_rule }} {{ row.interval }} {{ row.loss_gain_transition }} {{ fmtInt(row.records) }} {{ fmtInt(row.pycold_pass_any_records) }} {{ fmtInt(row.ntl_increase_records) }} {{ fmtInt(row.ntl_decrease_records) }}

PART 1 RESEARCH CONTENT · 4.5.1–4.5.9

Part 1 연구내용

연구내용 탭은 그래프보다 논문 섹션별 목적·결과·해석을 먼저 읽는 요약판입니다. 상세 그림과 인터랙티브 차트는 옆의 Part 1 결과 해석 / 추가분석 탭에서 확인합니다.

현재 주축은 PSM-DID + SDID-style counterfactual입니다. 해석 주장은 ‘총량 성장’보다 station-core 집중과 hotspot/SCoG의 station-oriented re-centering을 중심으로 읽습니다.

{{ part1ResultsError }}
Part 1 연구내용을 불러오는 중...

4.5.1–4.5.9 목적 / 결과 간단 요약

각 섹션을 목적, 결과, 현재 위치/해석 순서로 압축했습니다.

4.5.1과 4.5.2의 차이

4.5.1은 좌표반경 baseline DID

역 좌표를 중심으로 0–1km, 0–5km, 0–10km 같은 큰 누적 버퍼를 잡고, 개통 전후 평균 NTL 변화가 treated와 control에서 어떻게 달랐는지 보는 baseline 확인입니다. 현재 논문 구조에서는 pre-pivot legacy benchmark 성격이 강합니다.

4.5.2는 누적반경 spatial decay

겨울(12·1·2월)을 제외한 Mar–Nov 기준으로 0–1/0–5/0–10km 누적반경 효과가 거리가 멀어질수록 어떻게 약해지는지 읽습니다. 현재 non-winter 재구성에서는 PSM-DID post +1/+2 기준 0–1km +31.8%, 0–5km +1.9%, 0–10km -0.8%로 station-core 집중 패턴을 확인합니다.

왜 둘 다 필요한가

4.5.1은 “개통 효과가 역 주변에서 보이나?”라는 출발점이고, 4.5.2는 “그 효과가 정확히 몇 km 안쪽에 집중되나?”를 답합니다. 단, 0–2km와 0–3km는 0–1km core를 포함한 누적반경이므로, 2km/3km 결과를 바깥 ring 자체의 독립 효과로 해석하면 안 됩니다.

{{ section.id }}

{{ section.title }}

{{ section.display_role }}
목적
{{ section.purpose }}
결과
{{ section.result_summary }}
현재 위치 / 해석
{{ section.interpretation }}

읽는 순서

  1. 4.5.1–4.5.2에서 겨울 제외 Mar–Nov 기준 0–1km +31.8%, 0–5km +1.9%, 0–10km -0.8%로 station-core에 집중 패턴을 확인합니다.
  2. 4.5.3–4.5.4에서 event timing, PSM balance, support overlap, matched controls, SDID donor validity를 확인합니다.
  3. 4.5.5–4.5.9는 메커니즘/외적타당성/서비스 이질성 진단입니다. 특히 4.5.6–4.5.8은 hotspot/SCoG가 역에 가까워지는 station-oriented re-centering으로 읽고, service-speed proxy는 실제 속도나 시간절감이 아니라 stop-pattern class-mix index입니다.

RESULT SLIDE · Part 1 결과 해석 / 추가분석 · PSM-DID + SDID PRIMARY AXIS

{{ part1Results?.title || 'Part 1 결과 해석 / 추가분석' }}

{{ part1Results?.headline || '역 핵심권 1km 효과와 hotspot 시각화를 불러오는 중입니다.' }}

{{ part1Results?.caveat || 'PSM-DID / SDID-style counterfactual evidence only' }}

{{ part1ResultsError }}
Part 1 결과를 불러오는 중...

INTERACTIVE FIGURES · Part 1

Part 1 핵심 그래프

현재 `/api/part1_results`가 제공하는 PSM-DID/SDID-style 반경 효과, dynamic matched/synthetic gap, support gate를 요약합니다. Pixel hotspot/SCoG는 아래 4.5.x current PNG figure를 근거로 봅니다.

method_family_sections · section_451_459_results

Radius profile · PSM-DID vs SDID

Dynamic matched/synthetic gap · 0–1km

Identification support gate

4.5.6 hotspot / 4.5.8 SCoG의 pixel-level 그림은 아래 4.5.x 카드의 PNG figure로 표시합니다. 현재 공개 API는 해당 보조 인터랙티브 패널의 raw rows를 top-level로 노출하지 않습니다.

SECTION MAP · section_451_459_results

4.5.1–4.5.9 목적별 결과 목차

4.5.1부터 4.5.9까지 주효과·공간/타이밍 검증·식별 게이트·외부타당성·메커니즘 진단으로 나눠 결과와 진단을 함께 표시합니다.

resultPurposeGroups · visual_assets
{{ section.id }}

{{ section.title }}

{{ section.display_role }}
목적

{{ section.purpose }}

결과와 해석

{{ section.result_summary }}

{{ section.interpretation }}

그림이 의미하는 것

{{ section.figure_interpretation }}

어디에 표시되나

{{ section.display_location }}

{{ key }}
4.5.4a · PSM balance SMD gate 읽는 법

이 그림의 feature들은 모두 2012–2014 개통 전 baseline/pretrend matching 변수입니다. 예를 들어 log ntl mean r0 1km는 역 0–1km 누적반경의 개통 전 평균 야간조도 수준, log1p std r0 1km는 그 반경 안 조도 이질성, bright share는 밝은 pixel 비중, valid pixels는 분석에 실제 사용 가능한 관측 pixel support입니다. Δ14-12는 2014년 값 minus 2012년 값, trend는 개통 전 성장 기울기입니다.

|SMD| = standardized mean difference의 절댓값
treated 평균과 control 평균의 차이를 pooled standard deviation으로 나눈 값입니다. 0에 가까울수록 개통 전 조건이 비슷하고, 보통 0.1 이하는 좋고 0.2 이하는 수용 가능하게 읽습니다.
Before = 매칭 전 전체 control 후보군과 treated의 차이
모든 후보 control을 그대로 두고 treated와 비교한 불균형입니다. 오른쪽에 있을수록 원래 후보군이 treated와 많이 달랐다는 뜻입니다.
After match = 선택된 matched controls와 treated의 차이
PSM/matching으로 고른 control만 놓고 다시 계산한 불균형입니다. 점이 왼쪽으로 이동하면 |SMD|가 작아져 matching 후 treated와 control이 더 비슷해졌다는 뜻입니다.
4.5.4d · SDID prefit / donor validity 읽는 법

Pre-treatment RMSPE는 개통 전 treated path와 synthetic path의 fitting error입니다. 낮을수록 SDID-style donor 조합이 개통 전 treated NTL 경로를 잘 재현했다는 뜻입니다. 특히 Part 1의 핵심이 0–1km 역세권이므로 0–1km station-core에서 RMSPE가 낮은지를 먼저 봅니다.

우리가 보고 싶은 패턴
개통 전에는 synthetic control이 treated를 잘 따라가고, 개통 후에는 treated가 synthetic보다 위로 벌어지는지 확인합니다. 즉 prefit error가 작고 post-opening gap이 그 error보다 충분히 커야 해석력이 생깁니다.
donor effective N
synthetic path가 한두 donor에만 과도하게 의존했는지 보는 donor validity 지표입니다. RMSPE가 낮아도 donor effective N이 너무 작으면 donor dependence를 의심해야 합니다.

주의: 5km/10km는 평균화 때문에 RMSPE가 낮아질 수 있습니다. 10km RMSPE가 낮다고 해서 10km 효과가 더 중요하다는 뜻은 아님. 0–2/0–5/0–10km는 모두 0–1km core를 포함한 누적반경입니다.

연도별 hotspot 위치 / station-centricity trend

역 위치를 원점으로 두고 해당 station-year의 top hotspot 좌표, p90 hotspot centroid, all-bright NTL weighted centroid, nearest hotspot을 표시합니다. 오른쪽 trend는 두 centroid distance가 개통 전후로 어떻게 움직이는지 보여줍니다.

{{ section.hotspot_method_note || '중심 좌표는 두 가지로 분리합니다. all-bright NTL weighted centroid는 역 10km buffer 안에서 Mar–Nov annual_ntl > 1.0인 모든 bright pixel을 NTL 값으로 가중평균한 좌표입니다. p90 hotspot centroid는 p90 threshold 이상 pixel만 골라 그 pixel들의 NTL 가중평균 좌표로 계산합니다.' }}

true_pixel_centricity · station-year pixel sample
selected metrics
all-bright centroid {{ fmt(selectedHotspot456PanelRow?.ntl_weighted_centroid_distance_km) }}km
p90 hotspot centroid {{ fmt(selectedHotspot456PanelRow?.hotspot_centroid_distance_km) }}km
nearest hotspot {{ fmt(selectedHotspot456PanelRow?.nearest_hotspot_distance_km) }}km
p90 share {{ percentFmt(selectedHotspot456PanelRow?.hotspot_ntl_share_q90) }}
연도별 hotspot 위치 · station = origin
station-centricity trend
Illustrative treated-station hotspot snapshots before and after Shinkansen opening

개통 전후 hotspot snapshot: 같은 역에서 opening 직전 연도와 직후 연도를 나란히 비교합니다. 원점은 역, 보라색 삼각형은 p90 hotspot centroid, 파란 별은 모든 bright pixel을 고려한 all-bright NTL weighted centroid입니다.

before/after · treated-station snapshots
before opening
after opening
보조 hotspot 인터랙티브 패널 rows가 현재 API payload에 없어 정적 current PNG figure를 근거로 표시합니다.
SCoG movement graph

{{ section.scog_movement_panel.description }}

descriptive_no_did

{{ section.scog_method_note }}

역별 SCoG scalar-distance movement · negative = closer to station
SCoG movement raw rows가 현재 API payload에 없어 정적 current PNG figure와 해석문을 근거로 표시합니다.
Matched-control 예시 역

treated 역별로 2012–2014 baseline NTL mean / internal-std profile이 가장 유사하고, 오래전에 개통한 older Shinkansen control을 top-3까지 보여줍니다. distance_z가 작을수록 더 유사합니다.

{{ group.treated_station_name }} {{ group.treated_wave }} · {{ group.treated_opening_year }}
  • #{{ control.rank }} {{ control.control_station_name }} ({{ control.control_line_name }} · {{ control.control_pref_name_jp }} · {{ control.control_opening_year }}) d={{ fmt(control.distance_z) }}
figure file missing · {{ asset.id }}
{{ asset.description }} PNG 다운로드
인라인 현재 그림 없음 — 표/진단 카드 중심 섹션입니다.

PSM-DID / SDID 결과 재구성

모든 Part 1 결과는 method-family별 PSM-DID / SDID-style 축으로 해석

각 카드의 primary method가 해당 결과군의 기준입니다. 핵심 반경·동태·support/donor gate는 주축 결과로, recent-opening과 4.5.5–4.5.9 mechanism 계열은 computed/limited-support diagnostic으로 표시합니다.

policy: {{ part1Results?.analysis_policy?.primary_methods?.join(' + ') || 'PSM-DID + SDID-style' }} only

METHOD FAMILY · {{ section.id }}

{{ section.title }}

{{ section.method_note }}

{{ section.primary_method }} {{ section.status }}

{{ section.headline }}

PSM-DID core ATT

windoweffect %ptreated
{{ row.event_window }}{{ signedFmt(row.approx_percent) }}{{ pFmt(row.p_value || row.p_value_event_series) }}{{ intFmt(row.n_treated_supported) }}

SDID-style core effect

windoweffect %placebo p
{{ row.event_window }}{{ signedFmt(row.approx_percent) }}{{ pFmt(row.placebo_rank_p_value) }}

PSM-DID radius profile

radiuseffect %p
{{ row.radius_band }}{{ signedFmt(row.approx_percent) }}{{ pFmt(row.p_value || row.p_value_event_series) }}

SDID-style radius profile

radiuseffect %placebo p
{{ row.radius_band }}{{ signedFmt(row.approx_percent) }}{{ pFmt(row.placebo_rank_p_value) }}
CoreShare definition
{{ section.definition }}
{{ section.source_note }}

PSM-DID CoreShare · post +1 to +3

radiuseffect pppevents
{{ row.radius_label }} {{ signedFmt(row.att_percentage_points, 2) }} {{ pFmt(row.p_value || row.p_value_event_series) }} {{ intFmt(row.n_events) }}

SDID-style CoreShare · post +1 to +3

radiuseffect pprank pupper p
{{ row.radius_label }} {{ signedFmt(row.effect_percentage_points, 2) }} {{ pFmt(row.mean_wave_abs_placebo_rank_p_value) }} {{ pFmt(row.mean_wave_upper_tail_placebo_rank_p_value) }}

Matched FE DID CoreShare

radiuscoef pppq
{{ row.radius_label }} {{ signedFmt(row.coef_percentage_points, 2) }} {{ pFmt(row.p_value) }} {{ pFmt(row.q_value_bh_across_radii) }}

SDID-style longer post average

radiuseffect pprank p
{{ row.radius_label }} {{ signedFmt(row.effect_percentage_points, 2) }} {{ pFmt(row.mean_wave_abs_placebo_rank_p_value) }}

Pre-post CoreShare decomposition

groupradiusprepostchange pp
{{ row.group }} {{ row.radius_label }} {{ percentFmt(row.pre_2012_2014_mean_share) }} {{ percentFmt(row.post_2016_2018_mean_share) }} {{ signedFmt(row.change_post_minus_pre_percentage_points, 2) }}

PSM-DID dynamic path

eventradiuseffect %
{{ row.event_time }}{{ row.radius_band }}{{ signedFmt(row.approx_percent) }}

SDID-style dynamic gap

waveeventradiuseffect %
{{ row.wave }}{{ row.event_time }}{{ row.radius_band }}{{ signedFmt(row.approx_percent) }}
treated {{ intFmt(section.sample?.treated_total) }}
formal support {{ intFmt(section.sample?.formal_support) }}
effective support {{ intFmt(section.sample?.effective_support) }}

Environment-similar matched controls by treated station

Top-5 older Shinkansen controls matched on 2012–2014 baseline log NTL mean and log(1+internal std) profiles at 1/2/3/5/10km. Distance is standardized profile distance; lower is more similar.

treatedwaverankmatched controlline/prefdistance
{{ row.treated_station_name }}{{ row.treated_wave }}{{ row.matched_control_rank }}{{ row.control_station_name }} ({{ row.control_opening_year }}){{ row.control_line_name }} / {{ row.control_pref_name_jp }}{{ fmt(row.distance_z) }}

Balance / SMD gate

featurebeforeafterstatus
{{ row.feature }}{{ fmt(row.abs_smd_before) }}{{ fmt(row.abs_smd_after) }}{{ row.balance_status }}

Prefit diagnostics

waveradiusRMSPEeff Nmax w
{{ row.wave }}{{ row.radius_band }}{{ fmt(row.pre_rmspe) }}{{ fmt(row.donor_effective_n) }}{{ fmt(row.max_donor_weight) }}

Placebo ranks

windowradiuseffect %placebo p
{{ row.event_window || row.wave }}{{ row.radius_band }}{{ signedFmt(row.approx_percent) }}{{ pFmt(row.placebo_rank_p_value) }}
recent treated stations {{ intFmt(section.psm_did?.treated_stations) }}
matched controls {{ intFmt(section.psm_did?.matched_control_stations) }}
PSM rows {{ intFmt(section.psm_did?.event_summary?.length) }}
SDID-style {{ section.sdid_style?.status || 'diagnostic only' }}

Recent-opening matched event diagnostics

route/waveradiuseventeffect %p
{{ row.route_id || row.wave || row.method }}{{ row.radius_band }}{{ row.event_time }}{{ signedFmt(row.approx_percent || row.effect_percent) }}{{ pFmt(row.p_value) }}

Computed/limited-support outcome families · 4.5.5–4.5.9 mechanism counterfactual diagnostics

{{ component.component_id }}
{{ component.status }}
{{ component.evidence_weight }}

PSM-DID ATT summary

sectionoutcomewindowATTpstatus
{{ row.component_id }}{{ row.outcome }}{{ row.event_window }}{{ signedFmt(row.att) }}{{ pFmt(row.p_value) }}{{ row.status }}

SDID-style effect summary

sectionoutcomewindoweffectplacebo pstatus
{{ row.component_id }}{{ row.outcome }}{{ row.event_window }}{{ signedFmt(row.effect) }}{{ pFmt(row.placebo_rank_p_value) }}{{ row.status }}
  • {{ caveat }}

ADMIN · PART 1 UPGRADE · manuscript-defense roadmap

관리자 · {{ part1UpgradePlan?.title || 'Part 1 업그레이드 버전' }}

{{ part1UpgradePlan?.subtitle || '논문 방어력 중심의 추가 분석·표현 개선 로드맵' }}. 추가분석2는 Part 2 최근개통 진단으로 이동.

{{ part1UpgradeError }}
업그레이드 플랜을 불러오는 중...
{{ item.priority }}
{{ item.summary }}
추가분석2는 Part 2 최근개통 진단으로 이동: {{ part1UpgradePlan?.additional2_policy || 'Nishikyushu 2022 / Hokuriku 2024는 Part 2의 pre-opening anticipation 및 recent-extension timing diagnostic으로 읽습니다.' }}

ADMIN · DATA UPLOAD CLOSED

로컬 데이터 파일 업로드 임시 중단

대용량 업로드 413 오류 점검 중이라 CSV/CSV.GZ 업로드 입력창은 잠시 닫았습니다. 기존 데이터셋 조회와 미리보기 기능은 그대로 사용할 수 있습니다.

DOWNLOAD PACK · admin-only current PSM-DID / SDID evidence

Part 1 현재 주축 보고서 다운로드

공개 결과 탭에서는 4.5.x 해석과 figure만 보여주고, 주축 PSM-DID/SDID-style 보고서 파일 다운로드는 관리자 탭에서만 관리합니다. 예전 산출물은 public 결과 탭의 근거 카드에서 제외하고 자료 보존용 API/파일로만 남깁니다.

current method pack
{{ asset.kind }} {{ asset.exists ? 'ready' : 'missing' }}

{{ asset.label }}

{{ asset.description }}

{{ asset.filename }} · {{ formatSize(asset.size_bytes) }}
다운로드 서버에 파일이 아직 없습니다.

Upgrade groups

PSM-DID/SDID primary axis + archived 4.5.1–4.5.4 benchmark

논문 방어용 필수 / 보조·부록 / 대시보드 UX를 분리해, PSM-DID + SDID-style 주축과 archived benchmark 표현 수위를 함께 관리합니다. 핵심 TODO: annulus 반경 검산, admin-boundary 499/999 final run, service-class mix proxy 표현 하향.

{{ legend.label }}

{{ section.id }}

{{ section.title }}

{{ section.priority }} {{ section.analysis_class }} wording downgrade
현재 강점
{{ section.current_strength }}
반영 완료
  • {{ done }}
핵심 약점 / 리스크
{{ section.core_risk }}
추가 분석
  • {{ analysis }}
대시보드 UX 개선
{{ section.dashboard_improvement }}

PART 2 · OVERVIEW

Part 2 한눈에 보기

개통 전 행태를 보는 Part 2의 목적, 하고 싶은 말, 분석 결과를 논문 작성용으로 짧게 정리한 탭입니다.

{{ part2Results.plain_overview.short_answer }}

primary_measurement={{ part2Results.primary_measurement.label }} · months={{ part2Results.primary_measurement.months_included }} · winter_excluded={{ String(part2Results.primary_measurement.winter_excluded) }}

{{ part2ResultsError }}
Part 2 결과 로딩 중...
treated stations {{ intFmt(part2Results.sample?.treated_stations) }}
matched controls {{ intFmt(part2Results.sample?.matched_control_stations) }}
nonwinter radius panel {{ intFmt(part2Results.sample?.nonwinter_radius_panel_rows) }}
station-buffer panel {{ intFmt(part2Results.sample?.station_buffer_panel_rows) }}
land-use diff rows {{ intFmt(part2Results.sample?.landuse_diff_rows) }}

PART 2 SUMMARY · 목적 / 하고 싶은 말 / 결과

{{ part2Results.plain_overview.title }}

{{ part2Results.plain_overview.short_answer }}

목적

{{ part2Results.plain_overview.purpose }}

하고 싶은 말

  • • {{ item }}

분석결과의 해석

{{ part2Results.plain_overview.interpretive_summary }}

{{ card.title }}

해석
{{ card.interpretation }}
왜 중요한가
{{ card.why_it_matters }}
주의
{{ card.caution }}

추가분석으로 보강된 해석

lead-window, historical placebo, spatial gradient, Ureshino case, spillover, MLIT L01 공시지가를 반영한 논문 방어용 읽기입니다.

additional report
{{ card.title }}

{{ card.plain }}

{{ card.interpretation }}

{{ card.evidence }}

분석결과를 쉬운 말로

  • • {{ item }}

논문에서 이렇게 쓰기

  • • {{ item }}

evidence: {{ part2Results.plain_overview.evidence_files?.join(', ') }}

PART 2 · PRE-OPENING ANTICIPATION

Part 2 pre-opening change / anticipation analysis

Primary 분석은 Dec/Jan/Feb를 제외한 Mar-Nov VNP46A2 패널입니다. NTL pre-opening slope gap과 MLIT 2016→2021 land-use anchor를 연결해, 최근 개통 역세권이 개통 전부터 matched controls와 다른 성장 경로였는지 진단합니다.

{{ part2Results.headline }}

primary_measurement={{ part2Results.primary_measurement.label }} · months={{ part2Results.primary_measurement.months_included }} · winter_excluded={{ String(part2Results.primary_measurement.winter_excluded) }}

{{ part2ResultsError }}
Part 2 결과 로딩 중...
treated stations {{ intFmt(part2Results.sample?.treated_stations) }}
matched controls {{ intFmt(part2Results.sample?.matched_control_stations) }}
nonwinter radius panel {{ intFmt(part2Results.sample?.nonwinter_radius_panel_rows) }}
station-buffer panel {{ intFmt(part2Results.sample?.station_buffer_panel_rows) }}
land-use diff rows {{ intFmt(part2Results.sample?.landuse_diff_rows) }}

All-month sensitivity retained

{{ part2Results.all_month_sensitivity.purpose }}

allmonth_summary_rows={{ intFmt(part2Results.all_month_sensitivity.advanced_matrix_summary_meta?.rows) }} · allmonth_placebo_rows={{ intFmt(part2Results.all_month_sensitivity.identification_placebo_summary_meta?.rows) }}

ADVANCED COUNTERFACTUAL · 쉬운 해석

새 분석이 말해주는 것

실제 관측치가 없었다면 어떻게 움직였을지를 matrix completion으로 예측하고, 역 바로 옆 annulus가 먼 annulus보다 더 움직였는지 spatial DDD로 확인합니다.

advanced report

{{ card.title }}

{{ card.plain }}

{{ card.interpretation }}

{{ card.evidence }}

Matrix-completion 0–1km gap

실제 NTL - counterfactual 예측값. 양수면 실제가 예측 경로보다 더 밝았다는 뜻입니다.

waveeventgap%RMSE
{{ row.wave }}{{ row.event_time }}{{ signedFmt(row.mean_gap, 4) }}{{ signedFmt(row.approx_percent_gap, 1) }}%{{ fmt(row.validation_rmse, 4) }}

Onset detection

gap이 threshold를 처음 넘은 event time입니다. 음수면 pre-opening anticipation 후보입니다.

waveradiusonsettype
{{ row.wave }}{{ row.radius_band }}{{ row.onset_event_time ?? '—' }}{{ row.onset_type }}

Spatial DDD · 0–1km vs 5–10km

역 바로 옆 core가 먼 ring보다 더 강하게 움직였는지 보는 공간 진단입니다.

waveeventcoef%p
{{ row.wave }}{{ row.event_time }}{{ signedFmt(row.coef_log_points, 4) }}{{ signedFmt(row.approx_percent, 1) }}%{{ fmt(row.p_value, 4) }}

IDENTIFICATION STRESS TESTS · 박사논문용 검정

반대 설명을 얼마나 통과하는가

placebo, donor-pool, leave-one-out, pseudo-event, 거리감쇠 검정으로 Part 2 결과가 얼마나 안정적인지 확인합니다.

stress-test report

{{ card.title }}

{{ card.plain }}

{{ card.interpretation }}

{{ card.evidence }}

Placebo rank summary

matched control을 가짜 처리역으로 반복 지정했을 때 실제 gap이 placebo 분포 상단에 있는지 봅니다.

wavetargetobs %p+p abs
{{ row.wave }}{{ row.radius_band }} · {{ row.outcome }}{{ signedFmt(row.observed_post_approx_percent, 1) }}%{{ fmt(row.rank_p_one_sided_positive, 3) }}{{ fmt(row.rank_p_abs, 3) }}

Leave-one-treated-out · 0–1km

특정 treated station 하나가 평균을 끌어올리는지 확인합니다.

waveomittedfullleave-onedelta
{{ row.wave }}{{ row.omitted_station_key }}{{ signedFmt(row.full_sample_post_mean_gap, 4) }}{{ signedFmt(row.leave_one_post_mean_gap, 4) }}{{ signedFmt(row.leave_one_minus_full_gap, 4) }}

Donor-rank sensitivity · 0–1km

대조군을 top-k matched controls로 좁혔을 때 결과 방향이 유지되는지 봅니다.

wavepolicydonorsgap %adj %
{{ row.wave }}{{ row.donor_policy }}{{ row.matched_control_count }}{{ signedFmt(row.post_approx_percent, 1) }}%{{ signedFmt(row.anticipation_adjusted_percent, 1) }}%

Pre-opening pseudo-event · 0–1km

실제 개통 전 연도를 가짜 개통연도로 두고 같은 신호가 먼저 나타나는지 봅니다.

wavepseudo yearoffsetpseudo %RMSE
{{ row.wave }}{{ row.pseudo_opening_year }}{{ row.pseudo_offset_years_before_true_opening }}{{ signedFmt(row.pseudo_post_approx_percent, 1) }}%{{ fmt(row.validation_rmse, 4) }}

Distance decay

0–1km 효과가 2–5km보다 큰지, event time별 공간감쇠를 요약합니다.

waveeventnear-outerslopemono
{{ row.wave }}{{ row.event_time }}{{ signedFmt(row.near_minus_outer_log_points, 4) }}{{ signedFmt(row.linear_slope_per_km, 4) }}{{ String(row.monotone_decay_flag) }}

Station heterogeneity · 0–1km

평균 효과가 어떤 역에서 나오는지 확인합니다.

wavestationpost %adj %share
{{ row.wave }}{{ row.station_name }}{{ signedFmt(row.post_approx_percent, 1) }}%{{ signedFmt(row.anticipation_adjusted_percent, 1) }}%{{ fmt(Number(row.positive_post_gap_share) * 100, 1) }}%

ADDITIONAL DIAGNOSTICS · lead / placebo / land price

추가분석이 보강하거나 제한하는 해석

개통 전 행태 주장을 더 방어하기 위해 historical placebo opening, spatial gradient, Ureshino case decomposition, core-vs-wide proxy, MLIT L01 공시지가를 추가했습니다.

additional report

{{ card.title }}

{{ card.plain }}

{{ card.interpretation }}

{{ card.evidence }}

Historical placebo opening

matched controls에 2017-2021 가짜 개통연도를 부여한 raw-window DID placebo입니다.

wavetargetobs DIDplacebo meanp+draws
{{ row.wave }}{{ row.radius_band }} · {{ row.outcome }}{{ signedFmt(row.observed_did_gap, 4) }}{{ signedFmt(row.placebo_mean, 4) }}{{ fmt(row.rank_p_one_sided_positive, 4) }}{{ intFmt(row.placebo_draw_count) }}

Lead-window summary

0–1km과 0–5km의 pre/opening/post matrix-completion gap을 비교합니다.

waveradiuspreopening %post %reading
{{ row.wave }}{{ row.radius_band }}{{ signedFmt(row.pre_mean_gap, 4) }}{{ signedFmt(row.opening_percent, 1) }}%{{ signedFmt(row.post_window_percent, 1) }}%{{ row.interpretation }}

Spatial gradient / spillover

core가 outer/broad area보다 강한지, 순증가인지 재배치 가능성인지 구분합니다.

waveeventcore-widereading
{{ row.wave }}{{ row.event_time }}{{ signedFmt(row.core_minus_wide_gap, 4) }}{{ row.reading }}

MLIT L01 land-price link

공시지가 pre-change가 NTL anticipation 해석과 같은 방향인지 보는 보조 메커니즘 체크입니다.

waveradiuspre price gapevent gapN
{{ row.wave }}{{ row.radius_band }}{{ signedFmt(row.treated_minus_control_pre_percent_change, 1) }}%{{ signedFmt(row.treated_minus_control_event_percent_change, 1) }}%{{ intFmt(row.n_treated_with_price) }}/{{ intFmt(row.n_control_with_price) }}

{{ part2Results.additional_diagnostics.source_url }}

{{ asset.label }}

{{ asset.description }}

PNG
figure file missing

NTL pre-opening slope gap

waveradiustreated slopecontrol slopegap
{{ row.wave }}{{ row.radius_km }}km{{ fmt(row.treated_pretrend) }}{{ fmt(row.control_pretrend) }}{{ signedFmt(row.pretrend_gap, 4) }}

MLIT 2016→2021 land-use anchor · station-level top changes

station-level top changes: commercial/industrial/transport proxy 증가 상위 treated station buffer/ring.

stationradiusΔ commercial proxy
{{ row.station_name }} · {{ row.line_name }}{{ row.radius_band }}{{ signedFmt(Number(row.delta_commercial_industrial_proxy_share) * 100, 2) }}pp

caveat 카드 · {{ card.title }}

{{ card.body }}

ADDITIONAL ANALYSIS 2 · {{ t('additional2Kicker') }}

{{ t('additional2Title') }}

{{ t('additional2Desc') }}

{{ part1ResultsError }}
treated {{ intFmt(resultAdditional2Section.sample?.treated_stations) }}
Nishikyushu {{ intFmt(resultAdditional2Section.sample?.nishikyushu_treated_stations) }}
Hokuriku {{ intFmt(resultAdditional2Section.sample?.hokuriku_treated_stations) }}
matched controls {{ intFmt(resultAdditional2Section.sample?.matched_control_stations) }}
station-year-radius {{ intFmt(resultAdditional2Section.station_trends?.length) }}
radii {{ intFmt(additional2AvailableRadii.length) }}

{{ t('additional2ChartTitle') }} · {{ additional2ActiveRoute?.short_label }}

{{ t('additional2ChartDesc') }}

{{ additional2RouteTrendRows.length }} rows · selected {{ activeAdditional2Station || '—' }}

{{ t('additional2YearValues') }}

yeareventNTL meanindexΔ%pixels
{{ row.year }} {{ Number(row.event_time) >= 0 ? '+' + row.event_time : row.event_time }} {{ fmt(row.ntl_internal_mean) }} {{ fmt(row.ntl_index_vs_event_m1) }} {{ signedFmt(row.pct_change_vs_event_m1, 1) }} {{ intFmt(row.pixel_count_valid) }}

{{ t('additional2StationList') }}

Caution · recent extension

  • {{ warning }}

Chapter 7 · PyCOLD/VZA

전체 포함지역 PyCOLD 구조변화 분석

4929, 4930, 5336, 5337, 5338, 5436, 5537, 5538, 6240의 strict-u L03-b-u 셀을 대상으로 필터링된 일별 NTL/VZA 자료를 VZA 4개 bin별로 적용합니다. COLD/VZA는 변화 시점을 좁히고, LightGBM mechanism model은 이미 timed 후보의 전환 유형을 해석하는 보조층으로 둡니다.

PyCOLD 결과를 불러오는 중...
{{ part3PycoldError }}
포함 지역
{{ part3PycoldResults.overall_counts?.included_region_count || part3PycoldResults.scope?.include_regions?.length || 0 }}
{{ (part3PycoldResults.scope?.include_regions || []).join(', ') }}
기록된 NTL 행
{{ intFmt(part3PycoldResults.scope?.total_recorded_ntl_rows) }}
cloud clear ≥ 0.9 · snow/ice ≤ 0.1
strict-u 셀
{{ intFmt(part3PycoldResults.overall_counts?.strict_l03bu_4y100_cell_count) }}
2009/2014/2016/2021 ratio sum 100%
p08 pass-any 셀
{{ intFmt(part3PycoldResults.overall_counts?.unique_persistent_cell_count ?? part3PycoldResults.overall_counts?.persistent_pass_count) }}
broad timing candidates

현재 해석

{{ part3PycoldResults.current_result?.plain }}

raw p08 후보 셀
{{ intFmt(part3PycoldResults.overall_counts?.break_candidate_count) }}
p08 multi-VZA
{{ intFmt(part3PycoldResults.overall_counts?.multi_vza_pass_cell_count) }}
seasonal pass
{{ intFmt(part3PycoldResults.overall_counts?.seasonal_gate_pass_cell_count) }}
visual-QA accepted
{{ intFmt(part3PycoldResults.overall_counts?.visual_qa_change_cell_count) }}
2021 이후 후보
{{ intFmt(part3PycoldResults.overall_counts?.post_2021_candidate_cell_count) }}
multi-VZA seasonal
{{ intFmt(part3PycoldResults.overall_counts?.multi_vza_seasonal_pass_cell_count) }}

방법론 경계

Detector
{{ part3PycoldResults.method?.primary_detector }}
NTL adapter
{{ part3PycoldResults.method?.adapter_warning }}
Persistence
{{ part3PycoldResults.method?.persistence_rule?.primary }} · {{ part3PycoldResults.method?.persistence_rule?.interpretation }}
Mechanism model
{{ part3PycoldResults.method?.mechanism_model_role }}

증가/감소 방향성 진단

raw breakpoint에는 감소 후보도 남아 있지만, 현재 persistence rule을 통과한 후보는 증가 쪽으로 강하게 치우칩니다. 따라서 change map의 pass-any 셀은 구조적 증가 후보를 주로 보여주며, 감소 후보는 별도 sensitivity review 대상으로 남겨야 합니다.

raw increase
{{ intFmt(part3PycoldResults.full_batch.direction_diagnostics.raw_records?.overall?.raw_increase) }}
raw decrease
{{ intFmt(part3PycoldResults.full_batch.direction_diagnostics.raw_records?.overall?.raw_decrease) }}
pass increase
{{ intFmt(part3PycoldResults.full_batch.direction_diagnostics.raw_records?.overall?.pass_record_increase) }}
pass decrease
{{ intFmt(part3PycoldResults.full_batch.direction_diagnostics.raw_records?.overall?.pass_record_decrease) }}
지역별 raw 후보와 persistence-pass 방향
signed ΔDNB 분포

지역별 strict-u 후보 요약

논문 7장 기준: strict-u 9개 지역 포함
지역 strict-u 셀 changed anchor pass-any 셀 pass-any rate multi-VZA seasonal pass visual-QA accepted
{{ row.region }} {{ intFmt(row.strict_l03bu_4y100_cells ?? row.sample_cell_count) }} {{ intFmt(row.changed_anchor_cells) }} {{ intFmt(row.persistent_cell_count) }} {{ fmtPct(row.pass_any_rate_all_strict) }} {{ intFmt(row.multi_vza_pass_cell_count) }} {{ intFmt(row.seasonal_gate_pass_cells) }} {{ intFmt(row.visual_qa_change_cells) }}

LightGBM mechanism model

{{ part3PycoldResults.mechanism_model.purpose }} COLD/VZA가 변화 시점을 좁히고, boosted gain/loss model은 post-2021 후보의 가능한 coarse transition을 top-k 후보로 해석합니다.

{{ part3PycoldResults.mechanism_model.best_model?.model_id }} · {{ part3PycoldResults.mechanism_model.best_model?.feature_set }}
semi11 top-1
{{ fmtPct(part3PycoldResults.mechanism_model.best_validation?.transition_top1_accuracy) }}
top-3
{{ fmtPct(part3PycoldResults.mechanism_model.best_validation?.transition_top3_accuracy) }}
top-5
{{ fmtPct(part3PycoldResults.mechanism_model.best_validation?.transition_top5_accuracy) }}
coarse top-1
{{ fmtPct(part3PycoldResults.mechanism_model.best_validation?.coarse_mechanism_top1_accuracy) }}
post-2021 projections
{{ intFmt(part3PycoldResults.mechanism_model.post2021_projection_rows) }}
신칸센 권역 vs 5337/5338 reference
groupstrict-useasonal passpost-2021
{{ row.comparison_group }} {{ intFmt(row.strict_u_cells) }} {{ intFmt(row.p08_seasonal_pass_cells) }} ({{ fmtNum(row.p08_seasonal_pass_rate_pct, 2) }}%) {{ intFmt(row.post_2021_candidate_cells) }} ({{ fmtNum(row.post_2021_candidate_rate_pct, 2) }}%)
post-2021 predicted coarse transitions
seasonalgrouptransitioncells
{{ row.seasonal_gate_pass_bool ? 'pass' : 'all/review' }} {{ row.comparison_group }} {{ row.predicted_coarse_transition_top1 }} {{ intFmt(row.candidate_cells) }}

{{ part3PycoldResults.mechanism_model.claim_boundary }}

Claim boundary

  • {{ item }}

관리 파일

토지이용 anchor 결측
{{ part3PycoldResults.scope.missing_landuse.map(row => `${row.region}-${row.year}`).join(', ') }}

Chapter 7 · Part 3-1

2021 L03-b-u 촬영일 이후 NTL break 후보셀

strict-u 코호트(2009/2014/2016/2021 L03-b-u ratio_sum 100%)에서 셀별 2021 L03-b-u 100m subcell 촬영일 max를 cutoff로 두고, 그 이후에 PyCOLD break가 발생한 셀만 따로 분리했습니다. 이 셀들은 2009-2021 anchor-window 검출율 평가에서 제외하고, 2021 촬영일 이후 변화 예상 후보로 봅니다.

Part 3-1 후보셀을 불러오는 중...
{{ part31Error }}
strict-u 셀
{{ intFmt(part31AuditRow?.strict_l03bu_4y100_cells) }}
4개년도 모두 100%
post-anchor 후보
{{ intFmt(part31ActiveProfile?.candidate_count) }}
{{ part31ActiveProfile?.short_name }}
multi-VZA 후보
{{ intFmt(part31ActiveProfile?.multi_vza_candidate_count) }}
각도-강건 subset
anchor-window pass
{{ intFmt(part31AuditRow?.anchor_window_pass_any_cells) }}
촬영일 이전/당일 break만
Sentinel-2 전후 패널
{{ intFmt(part31Payload.sentinel2_chips?.complete_count) }} / {{ intFmt(part31Payload.sentinel2_chips?.count) }}
p08 multi-VZA · SCL bad ≤ 5%

Chapter 7 example cells

7장 예시 셀 break-window 위성사진

7장 RF 운영점 검증 예시 8개 셀에 대해 break 시점 기준 전 3년부터 후 3년까지 optical satellite chip을 붙였습니다. 기본 영상은 Sentinel-2 L2A이고, Sentinel-2 L2A가 없는 2015년 이전 target은 Landsat fallback을 사용했습니다. 빨간 박스는 MLIT 500m 셀입니다.

manifest CSV
7장 예시 셀 위성사진을 불러오는 중...
{{ ch7RfS2Error }}
패널
{{ intFmt(ch7RfS2Payload.complete_count) }} / {{ intFmt(ch7RfS2Payload.count) }}
target window
break ±3y
slot count
{{ intFmt(ch7RfS2Rows.length * 7) }}
source
S2 L2A / Landsat L2
{{ cell.cell_id }}
break {{ cell.break_date }} · lat {{ fmtNum(cell.lat, 6) }}, lon {{ fmtNum(cell.lon, 6) }}
{{ cell.actual_coarse_transition || 'transition —' }}
{{ cell.actual_detail_transition || 'detail —' }}
RF cap {{ cell.rf_cap || '—' }} · score {{ fmt(cell.rf_score, 3) }}
{{ cell.top3_pair_rank_weight || 'top-3 pair —' }}
offset target scene sensor days bad status
{{ Number(slot.offset_years) >= 0 ? '+' : '' }}{{ slot.offset_years }}y {{ slot.target_date || '—' }} {{ slot.date || '—' }} {{ slot.sensor || slot.collection || '—' }} {{ intFmt(slot.signed_days_from_target) }} {{ slot.chip_bad_fraction != null ? `${fmtNum(slot.chip_bad_fraction * 100, 1)}%` : '—' }} {{ slot.status || 'missing' }} · {{ slot.fallback_reason }}

해석 기준

{{ part31Payload.interpretation }}

cutoff rule
{{ part31Payload.anchor_cutoff_rule }}
cohort rule
{{ part31Payload.strict_cohort_rule }}

claim boundary

  • {{ item }}

Sentinel-2 before/after visual check

Sentinel-2 전후 위성사진 검토 대상

이 패널은 Part 3-1 후보 전체가 아니라, p08 post-anchor 후보 중 multi-VZA로 잡힌 셀만 시각 검토용으로 붙인 것입니다. PyCOLD break를 실제 시작일로 보지 않고, daily NTL rolling median으로 추정한 onset 후보일 이전과 PyCOLD last break 이후가 약 1년 벌어지도록 Sentinel-2 L2A 장면을 다시 선택했습니다. 구름/그림자/눈/무자료 SCL bad pixel은 5% 이하를 기준으로 했고, onset이 Sentinel-2 관측 시작보다 이른 일부 셀은 가장 이른 pre-confirmation 장면으로 대체 표시합니다. 빨간 사각형은 strict-u 500m 셀입니다.

완성 패널
{{ intFmt(part31Payload.sentinel2_chips.complete_count) }} / {{ intFmt(part31Payload.sentinel2_chips.count) }}
현재 표의 S2 셀
{{ intFmt(part31SatelliteCells.length) }}
대상
{{ part31Payload.sentinel2_chips.selection || 'p08 multi-VZA Part 3-1 cells' }}
영상 소스
{{ part31Payload.sentinel2_chips.method?.stac || 'Microsoft Planetary Computer Sentinel-2 L2A' }}
영상 선택 기준
before = onset 후보 이전 · after = PyCOLD last break 이후 · chip bad ≤ {{ fmt(part31Payload.sentinel2_chips.method?.max_chip_bad * 100, 1) }}%
전후 위성사진 패널 보기 · {{ intFmt(part31SatelliteCells.length) }} cells
before {{ cell.satellite_before?.date || '—' }}
{{ cell.satellite_before?.reference_label || 'ref' }} {{ intFmt(cell.satellite_before?.signed_days_from_reference) }}d · bad {{ fmt(cell.satellite_before?.chip_bad_fraction * 100, 1) }}%
after {{ cell.satellite_after?.date || '—' }}
{{ cell.satellite_after?.reference_label || 'ref' }} +{{ intFmt(cell.satellite_after?.signed_days_from_reference) }}d · bad {{ fmt(cell.satellite_after?.chip_bad_fraction * 100, 1) }}%
표시 {{ intFmt(part31FilteredCells.length) }} / 전체 {{ intFmt(part31ActiveProfile?.candidate_count) }}
지역 first break last break 2021 cutoff days after tier shift z turnover S2 S2 before S2 after transition
{{ cell.cell_id }} {{ cell.region }} {{ cell.first_break }} {{ cell.last_break }} {{ cell.anchor_cutoff_date }} {{ intFmt(cell.days_after_anchor) }} {{ cell.pycold_multi_vza ? 'multi' : 'single' }} {{ fmt(cell.max_shift_z) }} {{ fmt(cell.max_adjacent_turnover ?? cell.turnover) }} {{ cell.satellite_panel_url ? 'Y' : '—' }} {{ cell.satellite_before.date }} ({{ cell.satellite_before.reference_label || 'ref' }} {{ intFmt(cell.satellite_before.signed_days_from_reference) }}d) {{ cell.satellite_after.date }} ({{ cell.satellite_after.reference_label || 'ref' }} +{{ intFmt(cell.satellite_after.signed_days_from_reference) }}d) {{ cell.loss_gain_transition || cell.dominant_transition || '—' }}
{{ filteredSummary.length }}개 셀 표시

{{ hoveredCell.cell_id }}

Region{{ hoveredCell.region }}
Lat / Lon{{ fmt(hoveredCell.lat) }}, {{ fmt(hoveredCell.lon) }}
Break{{ hoveredCell.break_date_final }}
Direction{{ hoveredCell.change_direction }}
Magnitude{{ fmt(hoveredCell.change_magnitude) }}
Tier{{ hoveredCell.candidate_tier }}
VZA{{ hoveredCell.vza_bins }}
MLIT turnover{{ fmt(hoveredCell.turnover) }}
Before{{ fmt(hoveredCell.before_value) }}
After{{ fmt(hoveredCell.after_value) }}
Timeseries{{ hoveredCell.has_timeseries ? 'Available' : 'Missing' }}

Part 3 · PyCOLD × MLIT anchors

Part 3 토지이용 변화지도

현재는 PyCOLD full-batch persistence-pass 후보 셀을 지도에 올리고, MLIT anchor가 완전한 지역에서는 최대 turnover interval과 loss/gain transition을 함께 표시합니다. pass-any는 broad candidate, multi-VZA는 high-confidence 후보입니다.

토지이용 변화지도 payload 불러오는 중...
{{ part3LanduseError }}
상태
{{ part3LanduseMap.data_status }}
셀 수
{{ part3LanduseCells.length }}
노선 수
{{ Object.keys(part3LanduseMap.routes || {}).length }}
생성시각
{{ part3LanduseMap.generated_at || '—' }}
지도 payload 생성 대기

API와 탭은 연결됐습니다. 다음 단계에서 MLIT 100m 파일을 내려받아 500m 셀별 ratio delta payload를 만들면 여기에 변화 셀이 표시됩니다.

{{ part3LanduseFilteredCells.length }}개 변화 셀 표시
색상: MLIT turnover 또는 Δ land-use ratio
negative/high negative ±2pp 미만 positive positive/high
Part 3 · COLD false-positive inspection

셀 상세분석 (t_cg 3.84, conse 8, 365d)

2016-2021 MLIT detailed no-change control 중에서 선택한 COLD 조건을 통과한 100개 false-positive 셀입니다. 이 표는 변화 확정 목록이 아니라, 왜 COLD가 no-change control에서도 break를 잡는지 확인하기 위한 inspection set입니다.

{{ part3Fp100Payload?.condition_label || 't_cg=3.84; conse=8; 365d persistence; any VZA; exclude forest/paddy dominant; mixedness>=0.20' }}

CSV 다운로드
FP 100개 셀을 불러오는 중...
{{ part3Fp100Error }}
FP cells
{{ intFmt(part3Fp100Payload.count) }}
FPR
{{ fmtPct(part3Fp100Payload.metrics?.fpr) }}
Precision
{{ fmtPct(part3Fp100Payload.metrics?.precision) }}
TP / FP
{{ intFmt(part3Fp100Payload.metrics?.tp) }} / {{ intFmt(part3Fp100Payload.metrics?.fp) }}
Control total
{{ intFmt(part3Fp100Payload.metrics?.control_cells) }}

지역별 셀 수

{{ row.region }}
{{ intFmt(row.count) }}

Dominant label

{{ row.dominant_label }} {{ intFmt(row.count) }}

Claim boundary

  • - {{ item }}

FP 100 셀 목록

표시 {{ intFmt(part3Fp100FilteredRows.length) }} / 전체 {{ intFmt(part3Fp100Rows.length) }}

cell break direction dominant share mixed top mix shift z |delta| VZA
{{ row.cell_id }} {{ row.first_break_date || '—' }} {{ row.cold_direction_hint || 'unknown' }} {{ row.dominant_label }} {{ percentFmt(row.dominant_share) }} {{ percentFmt(row.mixedness) }} {{ row.coarse_mix_top3 }} {{ fmt(row.max_shift_z) }} {{ fmt(row.max_abs_delta) }} {{ intFmt(row.vza_bin_count) }}

Source records

{{ key }}
{{ meta.name }}
rows {{ intFmt(meta.rows) }} · {{ meta.exists ? 'available' : 'missing' }}
{{ part3Fp100Payload.filter_record?.detected_cells_filter }} · {{ part3Fp100Payload.filter_record?.profile_filter }}
Seasonality-screened cells only
p08 후보 중 seasonal gate pass 셀 {{ inspectSummary.length }}개만 표시합니다.
변화일 방향 TS SG 크기
{{ c.cell_id }} {{ c.break_date_final }} {{ c.has_timeseries ? 'Y' : 'N' }} Y {{ fmt(c.change_magnitude) }}
좌측 목록에서 셀을 선택하세요.
초기 다운로드/전처리 검증 검증 정보 로딩 중... {{ downloadChecksError }} {{ downloadChecks.stages.length }}개 단계 · 문제 단계 {{ downloadIssueStageCount }}개
{{ st.label }}
파일 {{ st.file_count }}개 · 연도 {{ rangeLabel(st.years) }}
채널 {{ rangeLabel(st.channels) }} · 누락 조합 {{ st.missing_year_channel_count ?? '—' }}
소스: {{ st.source || 'live' }}
Part 1 일본 PSM/SDID 데이터

polycentric_japan에서 수집한 신칸센 counterfactual 준비 테이블을 연결했습니다. 역 설계 96행, 기본 행정구역 연간 패널 1,248행에 더해 역 좌표와 코드 정의 반경을 Earth Engine reduceRegions에 넣어 계산한 2012–2024 내부 표준편차 패널을 노출합니다.

Dark Pixel Threshold(Remove observations with rad_mean ≤ 1.0 nW/cm²/sr)는 annual pixel mean 단위로 적용했습니다. 원시 raster 파일은 다운로드하지 않고 좌표/반경별 aggregate 결과만 불러옵니다. 기존 2020 local mesh 테이블은 5개 현 subset 진단용입니다.

{{ activeDataPartLabel }} 데이터 계층 {{ activeDataPartLabel }} 총 {{ activePartDatasetCount }}개 데이터셋 데이터셋 목록 로딩 중... 설명 manifest {{ activeDataPartLabel }} 전체 ZIP
{{ ds.label }}
{{ researchPartLabel(ds.research_part) }} · {{ ds.filename }} · {{ formatSize(ds.size_bytes) }}
이 계층에 데이터셋이 없습니다.
로딩 중...
표시 {{ filteredDatasets.length }} / 검색결과 {{ allFilteredDatasets.length }} / {{ activeDataPartLabel }} 전체 {{ activePartDatasetCount }}
좌측에서 데이터셋을 선택하면 실제 행(row)을 확인할 수 있습니다.

방법론 슬라이드

Methodology & Policy Notes

METHOD SLIDE 1/3

Part 1 방법론 슬라이드 · PSM-DID/SDID counterfactual 방법론

신칸센 개통 전후에 역 인근 일정 반경 또는 행정구역 band의 NTL/도시활동 지표가 matched/synthetic counterfactual 대비 어떻게 달라지는지 비교합니다. 수식은 아래 식별 논리 설명 뒤에 보조 정의로 배치했습니다.

1. 처리군/대조군 정의

treated 역은 Hokuriku 2015, Hokkaido 2016 개통 wave로 구분하고, 기존 신칸센 역은 control로 유지합니다.

did_station_design_v2.csv · 96 rows

2. GEE 좌표반경 내부 표준편차

station lon/lat와 코드에서 정의한 0–1 / 0–5 / 0–10km 누적 반경을 Earth Engine reduceRegions에 넣어 2012–2024 VNP46A2 annual pixel mean/stdDev/count를 계산합니다. 추가로 MLIT N03 host municipality boundary를 사용한 행정경계 기반 true centricity를 별도 sensitivity layer로 둡니다.

station_radius_gee_internal_std_dark_threshold_panel.csv · 3,744 rows

3. 열차 스케줄 변수

fast/mid-tier/slow service class와 일별 정차횟수를 변수화하되, 공식 PDF 확인 전 값은 확정하지 않습니다.

station_frequency_* · conservative first

PSM-DID vs SDID-style 한눈에 보기
구분 PSM-DID SDID-style
한 줄 요약비슷한 역끼리 짝지어서 변화량 비교여러 control 역을 섞어 synthetic path 생성
비교 단위station-level matched controlswave-level treated path vs weighted donor path
핵심 질문개통 전 조건이 비슷한 역들보다 더 변했나?개통 전 경로를 닮은 synthetic counterfactual 대비 gap이 생겼나?
주요 진단SMD balance, support overlap, matched distancepre-fit RMSPE, donor effective N, placebo rank
약점관측 가능한 baseline/pretrend feature만 맞춤donor weight 집중과 짧은 pre-period 위험
왜 둘 다 쓰나

PSM-DID는 matched-control 비교의 직관성을 주고, SDID-style은 pre-opening path fit을 확인합니다. 둘이 같은 방향, 특히 0–1km core에서 같은 방향이면 모델 하나의 착시 가능성을 줄입니다. 반대로 둘 중 하나의 support/prefit이 약하면 효과 주장보다 식별 한계를 먼저 보고합니다.

보조 수식 · 추정량 정의

본문 해석은 위의 matched/synthetic counterfactual 논리를 우선 읽고, 아래 식은 기호 정의와 재현용으로만 확인합니다.

DID · PSM-DID · SDID
DID 기본식
\[ \begin{aligned} Y_{it} &= \alpha_i + \lambda_t + \beta\,(Treat_i \times Post_t) + \varepsilon_{it}, \\ \beta &= (\bar{Y}_{T,post}-\bar{Y}_{T,pre}) - (\bar{Y}_{C,post}-\bar{Y}_{C,pre}). \end{aligned} \]

β는 “treated의 post-pre 변화”에서 “control의 post-pre 변화”를 뺀 값입니다.

PSM-DID
\[ \begin{aligned} p(X_i) &= \Pr(Treat_i=1 \mid X_i), \\ j(i) &= \arg\min_{j\in C}\left|p(X_i)-p(X_j)\right|, \\ \hat{\tau}_{PSM\text{-}DID} &= \frac{1}{N_T}\sum_{i\in T} \left[(Y_{i,post}-Y_{i,pre})-(Y_{j(i),post}-Y_{j(i),pre})\right]. \end{aligned} \]

개통 전 baseline NTL·pretrend·support profile이 비슷한 control 역을 먼저 고른 뒤, 그 matched controls 대비 전후 변화 차이를 추정합니다.

SDID / synthetic counterfactual
\[ \begin{aligned} \hat{\tau}_{SDID} &= \left(\bar{Y}_{T,post}-\sum_{j\in C}\hat{\omega}_j\bar{Y}_{j,post}\right) \\ &\quad - \sum_{s\le T_0}\hat{\lambda}_s \left(\bar{Y}_{T,s}-\sum_{j\in C}\hat{\omega}_jY_{j,s}\right). \end{aligned} \]

ω̂_j는 treated wave의 개통 전 경로를 가장 잘 재현하도록 control donor 역에 주는 unit weight이고, λ̂_s는 pre-period 중 어떤 시점을 더 중요하게 볼지 정하는 time weight입니다. 따라서 SDID는 “처리군 post 평균 − 합성통제군 post 평균”에서 “개통 전의 가중 평균 gap”을 빼는 추정량입니다.

해석 방향

0–1km core share는 β 또는 τ̂가 양수이면 station-core 집중 증가입니다. nearest hotspot distance, NTL-weighted mean distance, centroid distance 계열은 음수이면 역에 가까워진 것입니다. 단 p90 hotspot centroid는 외곽 bright pixel과 threshold에 민감하므로 진단용으로만 둡니다.

PSM-DID 설명

Propensity-score matching으로 개통 전 유사한 control 역을 고른 뒤, treated와 matched controls의 개통 전후 변화 차이를 비교합니다. 즉 단순 DID/TWFE가 아니라, 2012–2014 baseline NTL·pretrend·support profile이 비슷한 역끼리 비교하는 matched counterfactual입니다.

  • matching unit은 station이며 station-radius row가 아닙니다.
  • event 0은 opening-transition year로 별도 표시하고, 0–1km 핵심 반경을 우선 읽습니다.
  • balance SMD, propensity/support overlap, matched-control distance를 식별 gate로 확인합니다.
SDID-style 설명

SDID-style synthetic counterfactual은 treated wave의 개통 전 NTL 경로를 가장 잘 재현하는 older Shinkansen donor 조합을 synthetic donor weight로 만들고, 개통 후 treated 경로와 synthetic 경로의 gap을 읽는 방식입니다.

  • full publication-grade SDID가 아니라 wave-level diagnostic synthetic counterfactual입니다.
  • pre-fit RMSPE, donor effective N, placebo rank, leave-one-donor sensitivity를 같이 봅니다.
  • 짧은 pre-period와 donor concentration 위험 때문에 causal proof가 아니라 보조 식별 진단으로 표현합니다.
Part 1 데이터 구성
  • 역 주변 0–1 / 0–5 / 0–10km은 station 좌표와 코드 정의 반경을 GEE reduceRegions에 넣어 계산한 annual pixel 내부 표준편차를 우선 확인
  • 행정단위별 NTL 표준편차와 기존 ring-mean 거리대 균형 보조지표는 별도 보조 패널로 해석
  • 행정경계 기반 true centricity는 host municipality boundary 내부 GEE pixel sample + all-valid reduceRegion aggregate로 station_1km/5km/10km NTL share와 hotspot 거리 변화를 계산
  • treat_wave별 Hokuriku 2015 / Hokkaido 2016 분리
검증 원칙
  • verification_status와 source_url을 항상 같이 확인
  • Dark Pixel Threshold: GEE annual pixel mean에서 rad_mean ≤ 1.0 nW/cm²/sr 제거
  • 원시 raster 파일을 받지 않고 station 좌표/반경 reduceRegions aggregate 결과만 수신, raw_raster_download_used=0 확인
  • provisional frequency panel은 결과 해석 전 보수적 검증표와 대조

METHOD SLIDE 2/3

Part 2 방법론 슬라이드 · pre-opening change / anticipation analysis

최근 개통구간이 개통 전부터 유사 matched controls와 다른 성장 경로를 보였는지 annual NTL, early-anchor matrix completion, annulus spatial DDD, MLIT anchor-year land-use validation으로 진단합니다.

1. pre-opening slope gap

개통 전 annual NTL 추세를 treated와 matched controls 사이에서 비교합니다. 핵심 질문은 post-opening 효과가 아니라 opening 전에 이미 다른 성장 경로가 있었는지입니다.

part2_mlit_landuse_anchor_ntl_pretrend_gap.csv

2. spatial concentration

0–1km, 1–2km, 2–5km ring을 나눠 pre-opening 신호가 station core인지 주변 개발 전환인지 구분합니다.

station buffer/ring × year panel

3. MLIT anchor-year land-use validation

MLIT land-use는 연간자료가 아니므로 annual land-use DID로 쓰지 않고, 2009/2014/2016/2021 anchor-year에서 구조적 land-use 전환이 NTL 신호와 맞는지만 확인합니다.

MLIT anchor-year land-use validation

4. matrix completion + onset

treated station의 event -5..+2 관측치를 가리고 counterfactual path를 예측해, 실제 조명이 언제부터 예측경로에서 벗어났는지 봅니다.

part2_advanced_matrix_completion_summary.csv

Part 2 해석 guardrail
  • construction-light, 기대효과, 역세권 정비가 섞일 수 있어 causal proof로 쓰지 않습니다.
  • Hokuriku 2024는 event 0/개통 직전 정보가 짧고, MLIT 2021 anchor는 개통 3년 전입니다.
  • MLIT는 low-frequency structural check이며 “2012–2024 annual land-use trend”라고 표현하지 않습니다.

METHOD SLIDE 3/3

Part 3 방법론 슬라이드 · NTL/VZA → Land Use

VIIRS NTL/VZA 시계열에서 COLD 알고리즘 기반 구조변화 후보를 찾고, MLIT 500m mesh land-use ratio와 연결해 변화탐지 결과를 해석합니다. 역반경 결과해석 그래프는 역 위치가 그래프 중앙에 오도록 station-centered Δlon/Δlat 좌표계로 표시합니다.

COLD 알고리즘 · Continuous Change Detection and Classification

COLD는 각 cell의 VIIRS NTL 시계열을 계절성/추세가 있는 harmonic regression 형태로 맞춘 뒤, 관측값이 예측 경로에서 지속적으로 벗어나는 시점을 breakpoint 후보로 잡는 변화탐지 알고리즘입니다.

1. 정상 경로 모델링

pre-break 기간의 NTL level, trend, seasonal/harmonic terms를 학습해 해당 cell의 expected radiance path를 만듭니다.

2. 연속 잔차 감시

새 관측치가 예측구간 밖으로 여러 번 연속 이탈하면 단발 noise가 아니라 구조변화 후보로 표시합니다.

3. breakpoint 산출

break date는 토지이용 변화 후보 시점입니다. Part 3에서는 이를 VZA group별 탐지 결과와 MLIT land-use anchor로 교차해석합니다.

4. 해석 주의

COLD breakpoint는 “무언가 바뀐 시점”이지 곧바로 특정 land-use class 전환 증명은 아닙니다. MLIT 500m mesh와 현장/지도 확인으로 의미를 붙입니다.

Data Sources

  • VNP46A2 — DNB (Day/Night Band) radiance: DNB_BRDF-Corrected_NTL
  • VNP46A1 — QA flags, Viewing Zenith Angle (VZA), sensor angles
  • MLIT National Land Numerical Information — 500m mesh land-use (2009, 2014, 2016, 2021)

Data Integrity & Coverage

{{ healthError }}
Summary Cells
{{ health.summary_count }}
With TS
{{ health.timeseries_available_count }}
Without TS
{{ health.timeseries_missing_count }}
TS Files (6240)
{{ health.ts6240_file_count }}
SourceExistsSize(bytes)Rows
{{ key }} {{ meta.exists ? 'OK' : 'MISSING' }} {{ meta.size_bytes ?? '—' }} {{ meta.rows ?? '—' }}
Raw Audit Generated: {{ health.raw_audit.generated_at || '—' }}
Coverage: {{ health.raw_audit.summary_timeseries_coverage.covered }} covered / {{ health.raw_audit.summary_timeseries_coverage.missing }} missing
  • [{{ issue.severity }}] {{ issue.code }}: {{ issue.message }}
No raw audit issues.
Raw audit report not loaded on this deployment.

QA / Filtering Criteria

ParameterRule
Cloud clear fractionAll retained locations satisfy cloud_clear_frac ≥ 0.9
Snow/ice fractionAll retained locations satisfy snow_ice_frac ≤ 0.1
VZA bins0-15, 15-30, 30-45, 45-60 degrees
Land-use cohortstrict-u L03-b-u 500m cells with 2009/2014/2016/2021 ratio sum equal to 100%

Chapter 7 공개 기준

대시보드와 논문 본문에서는 retained location 전체를 같은 기준으로 설명합니다: cloud_clear_frac >= 0.9, snow_ice_frac <= 0.1. 파일명에 남아 있는 과거 추출 단계 표기는 데이터 계보 확인용이며, 현재 Part 3 해석에서 별도의 과거 비교 필터 결과로 사용하지 않습니다.

Change Detection Policies

relaxed_operational Earliest group break shared across VZA groups (0-20°, 20-40°, 40-60°, 0-60°). A structural break in any single VZA group is propagated to all groups.
fixed_strict (consensus_2of4) Requires at least 2 out of 4 VZA groups to independently detect a break at the same date. More conservative.

VZA Grouping

Observations are binned by Viewing Zenith Angle into groups for independent break detection:

0–20° 20–40° 40–60° 0–60° (all)

MLIT Land Use Categories

{{ code }} {{ label }}

Study Regions

RegionAreaNotes
5337Hokuriku/Nagano (South)Paired with 5338
5338Hokuriku/Nagano (North)Paired with 5337
6240HokkaidoLarge area, 19K+ cells
Dashboard built for the Heesoo NTL/VZA research project. Data: VNP46A1/A2 (VIIRS), MLIT Japan. Breakpoint detection via strucchange (R).