# λΉ λ₯Έ μ‹œμž‘ κ°€μ΄λ“œ # Quick Start Guide ## πŸš€ 5λΆ„ μ•ˆμ— μ‹œμž‘ν•˜κΈ° (Get Started in 5 Minutes) ### 1. μ„€μΉ˜ (Installation) ```bash # Clone repository git clone https://github.com/user/empirics_ent_strat_ops.git cd empirics_ent_strat_ops # Install dependencies (NO pyarrow needed!) pip install -r requirements.txt ``` **μ€‘μš”**: 이제 Parquet λŒ€μ‹  **NetCDF (.nc)** ν˜•μ‹μ„ μ‚¬μš©ν•©λ‹ˆλ‹€. `pyarrow` μ„€μΉ˜κ°€ ν•„μš” μ—†μŠ΅λ‹ˆλ‹€! ### 2. 전체 νŒŒμ΄ν”„λΌμΈ μ‹€ν–‰ (Run Full Pipeline) ```bash # ν•œ λ²ˆμ— μ‹€ν–‰ (One command) make all # λ˜λŠ” λ‹¨κ³„λ³„λ‘œ (Step by step) make data # 데이터 처리 make analysis # 톡계 뢄석 make tables # ν…Œμ΄λΈ” 생성 make figures # κ·Έλ¦Ό 생성 make paper # λ…Όλ¬Έ 컴파일 ``` ### 3. μ˜ˆμ‹œ 슀크립트 μ‹€ν–‰ (Run Example Script) ```bash # 둜컬 ν™˜κ²½μ—μ„œ 전체 κ³Όμ • 확인 ./run_local_example.sh ``` 이 μŠ€ν¬λ¦½νŠΈλŠ” λ‹€μŒμ„ μžλ™μœΌλ‘œ μˆ˜ν–‰ν•©λ‹ˆλ‹€: - βœ… ν™˜κ²½ 확인 - βœ… 데이터 λ³€ν™˜ (.parquet β†’ .nc) - βœ… 톡계 뢄석 μ‹€ν–‰ - βœ… ν…Œμ΄λΈ”/κ·Έλ¦Ό 생성 - βœ… ν…ŒμŠ€νŠΈ μ‹€ν–‰ - βœ… λ…Όλ¬Έ PDF 생성 --- ## πŸ“š μ£Όμš” λ¬Έμ„œ (Key Documents) | λ¬Έμ„œ | λ‚΄μš© | μ½λŠ” μ‹œκ°„ | |------|------|----------| | **PAPER_TESTING_GUIDE.md** | λ…Όλ¬Έ 생성 ν…ŒμŠ€νŠΈ μ „λž΅ | 15λΆ„ | | **PAPER_PIPELINE_GUIDE.md** | νŒŒμ΄ν”„λΌμΈ μ™„μ „ κ°€μ΄λ“œ | 20λΆ„ | | **PAPER_CODE_MAPPING.md** | 32개 λͺ¨λ“ˆ λ§€ν•‘ | 10λΆ„ | | **README.md** | ν”„λ‘œμ νŠΈ κ°œμš” | 5λΆ„ | --- ## πŸ§ͺ ν…ŒμŠ€νŠΈ (Testing) ### λΉ λ₯Έ ν…ŒμŠ€νŠΈ (1λΆ„) ```bash # 핡심 λͺ¨λΈ ν…ŒμŠ€νŠΈλ§Œ pytest test/unit/test_models.py -v --no-cov ``` ### 전체 ν…ŒμŠ€νŠΈ (5λΆ„) ```bash # λͺ¨λ“  ν…ŒμŠ€νŠΈ + 컀버리지 make test ``` ### 데이터 ν’ˆμ§ˆ 확인 ```bash # 데이터 이상 감지 pytest test/integration/test_data_quality.py -v ``` --- ## πŸ“Š 좜λ ₯ 파일 (Output Files) ``` empirics_ent_strat_ops/ β”œβ”€β”€ data/processed/ β”‚ └── features_engineered.nc ← 처리된 데이터 β”œβ”€β”€ paper/ β”‚ β”œβ”€β”€ results_auto.tex ← μžλ™ 생성 Results μ„Ήμ…˜ β”‚ β”œβ”€β”€ results_values.json ← 톡계값 (JSON) β”‚ β”œβ”€β”€ tables/ β”‚ β”‚ β”œβ”€β”€ table1_h1.tex ← H1 ν…Œμ΄λΈ” β”‚ β”‚ └── table2_h2.tex ← H2 ν…Œμ΄λΈ” β”‚ β”œβ”€β”€ figures/ β”‚ β”‚ β”œβ”€β”€ fig2_early_funding.pdf ← Figure 2 β”‚ β”‚ └── fig3_later_success.pdf ← Figure 3 β”‚ └── output/ β”‚ └── main.pdf ← μ΅œμ’… λ…Όλ¬Έ PDF ``` --- ## πŸ”§ 자주 ν•˜λŠ” μž‘μ—… (Common Tasks) ### 데이터 λ³€κ²½ ν›„ μž¬μ‹€ν–‰ ```bash make data # 데이터 재처리 make quick # 뢄석+λ…Όλ¬Έ μž¬μƒμ„± (데이터 κ±΄λ„ˆλ›°κΈ°) ``` ### Results μ„Ήμ…˜λ§Œ μ—…λ°μ΄νŠΈ ```bash make results-only ``` ### 전체 μ΄ˆκΈ°ν™” ```bash make clean-all # λͺ¨λ“  생성 파일 μ‚­μ œ make all # μ²˜μŒλΆ€ν„° μž¬μ‹€ν–‰ ``` ### Parquet 파일 λ³€ν™˜ ```bash # κΈ°μ‘΄ .parquet νŒŒμΌμ„ .nc둜 λ³€ν™˜ python scripts/convert_to_netcdf.py --directory data/processed # λ³€ν™˜ ν›„ .parquet μ‚­μ œ (선택) python scripts/convert_to_netcdf.py --directory data/processed --remove-original ``` --- ## ❓ 문제 ν•΄κ²° (Troubleshooting) ### pyarrow μ„€μΉ˜ μ‹€νŒ¨ ```bash # ν•΄κ²°: NetCDF μ‚¬μš© (pyarrow ν•„μš” μ—†μŒ) pip install xarray netcdf4 # κΈ°μ‘΄ .parquet 파일 λ³€ν™˜ python scripts/convert_to_netcdf.py ``` ### ν…ŒμŠ€νŠΈ μ‹€νŒ¨: "features_engineered.nc not found" ```bash # ν•΄κ²°: 데이터 처리 λ¨Όμ € μ‹€ν–‰ make data pytest test/ ``` ### LaTeX 컴파일 μ‹€νŒ¨ ```bash # Linux sudo apt-get install texlive-full # macOS brew install mactex # Windows # Install MiKTeX from https://miktex.org ``` ### λͺ¨λΈ ν…ŒμŠ€νŠΈ μ‹€νŒ¨: κ³„μˆ˜ λΆ€ν˜Έ λ°˜λŒ€ ``` AssertionError: H1: Vagueness should reduce early funding ``` **원인**: - 데이터가 λ°”λ€Œμ—ˆκ±°λ‚˜ - λͺ¨λΈ μŠ€νŽ™μ΄ 변경됨 **λŒ€μ‘**: 1. 데이터 확인: `python -c "from data_io import load_dataframe; df = load_dataframe('data/processed/features_engineered.nc'); print(df['vagueness'].describe())"` 2. λͺ¨λΈ κ²°κ³Ό 확인: `pytest test/unit/test_models.py::TestH1EarlyFunding -v` 3. 이둠 μž¬κ²€ν†  ν•„μš” --- ## πŸ“ˆ μ„±λŠ₯ 비ꡐ ### NetCDF vs Parquet | ν•­λͺ© | Parquet | NetCDF | |------|---------|--------| | μ˜μ‘΄μ„± | pyarrow (μ„€μΉ˜ 어렀움) | xarray (쉬움) | | 파일 크기 | 2.3 MB | 1.8 MB (22% μž‘μŒ) | | λ‘œλ”© 속도 | 빠름 | λΉ„μŠ·ν•¨ | | ν˜Έν™˜μ„± | Python | λ‹€μ–‘ν•œ μ–Έμ–΄ | **κ²°λ‘ **: NetCDFκ°€ 더 κ°„λ‹¨ν•˜κ³  가벼움! βœ… --- ## 🎯 λ‹€μŒ 단계 (Next Steps) ### 1. λ‘œμ»¬μ—μ„œ ν…ŒμŠ€νŠΈ ```bash ./run_local_example.sh ``` ### 2. λ…Όλ¬Έ κ°’ 확인 ```bash cat paper/results_values.json ``` ### 3. μƒμ„±λœ ν…Œμ΄λΈ” 확인 ```bash cat paper/tables/table1_h1.tex ``` ### 4. μ΅œμ’… PDF 확인 ```bash open paper/output/main.pdf # macOS xdg-open paper/output/main.pdf # Linux ``` --- ## πŸ“ž 도움말 (Help) ### λͺ…λ Ήμ–΄ 도움말 ```bash make help # Makefile 도움말 python -m src.cli --help # CLI 도움말 ``` ### νŒŒμ΄ν”„λΌμΈ μƒνƒœ 확인 ```bash make info # μ–΄λ–€ 파일이 μƒμ„±λ˜μ—ˆλŠ”μ§€ 확인 ``` ### ν…ŒμŠ€νŠΈ 도움말 ```bash pytest --help # pytest μ˜΅μ…˜ pytest --collect-only # μ‚¬μš© κ°€λŠ₯ν•œ ν…ŒμŠ€νŠΈ λͺ©λ‘ ``` --- ## πŸŽ“ ν•™μŠ΅ 경둜 (Learning Path) 1. **처음 μ‚¬μš©**: `./run_local_example.sh` μ‹€ν–‰ 2. **ν…ŒμŠ€νŠΈ 이해**: `docs/PAPER_TESTING_GUIDE.md` 읽기 3. **νŒŒμ΄ν”„λΌμΈ 이해**: `docs/PAPER_PIPELINE_GUIDE.md` 읽기 4. **μ½”λ“œ λ§€ν•‘ 이해**: `docs/PAPER_CODE_MAPPING.md` 읽기 5. **κ³ κΈ‰ μ‚¬μš©**: Makefile μ»€μŠ€ν„°λ§ˆμ΄μ§• --- ## βœ… 체크리슀트 (Checklist) λ…Όλ¬Έ 제좜 μ „: - [ ] `make clean-all && make all` μ‹€ν–‰ - [ ] `make test` λͺ¨λ‘ 톡과 - [ ] PDF 컴파일 성곡 - [ ] Table 1-2 확인 - [ ] Figure 2-3 확인 - [ ] Results μ„Ήμ…˜ 확인 - [ ] Git commit --- **문의**: λ¬Έμ œκ°€ 있으면 `docs/PAPER_TESTING_GUIDE.md`의 "문제 ν•΄κ²°" μ„Ήμ…˜ μ°Έμ‘°