{"id":19899149,"url":"https://github.com/tootouch/solar_power-forecasting","last_synced_at":"2026-06-05T22:31:46.815Z","repository":{"id":156582066,"uuid":"633026639","full_name":"TooTouch/Solar_Power-Forecasting","owner":"TooTouch","description":"BK21 Hackathon 2023 in Korea University","archived":false,"fork":false,"pushed_at":"2023-04-30T11:18:42.000Z","size":15,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-11T20:44:25.224Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TooTouch.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-04-26T16:10:20.000Z","updated_at":"2023-04-26T18:01:05.000Z","dependencies_parsed_at":null,"dependency_job_id":"6fe3bbb9-2257-480b-8585-7cc4571df4db","html_url":"https://github.com/TooTouch/Solar_Power-Forecasting","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TooTouch%2FSolar_Power-Forecasting","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TooTouch%2FSolar_Power-Forecasting/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TooTouch%2FSolar_Power-Forecasting/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TooTouch%2FSolar_Power-Forecasting/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TooTouch","download_url":"https://codeload.github.com/TooTouch/Solar_Power-Forecasting/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241329416,"owners_count":19944984,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-12T20:07:21.045Z","updated_at":"2025-03-01T06:43:26.261Z","avatar_url":"https://github.com/TooTouch.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Solar_Power-Forecasting\nBK21 Hackathon 2023 in Korea University\n\n# Data tree\n\n```\ndata\n├── 기상데이터\n├── 발전량 변환\n├── 발전소 테이블.csv\n└── 발전소 테이블.xls\n```\n\n# Preprocessing\n\n## Identifier\n\n발전량 데이터는 아래 두 identifier에 따라 데이터가 수집되어 있음\n\n1. '발전소 테이블.csv'의 `발전소 ID(pp_id)`\n2. '발전량 변환' 내 파일의 `Inverter`\n\n## Process\n\n**Plant data**\n- 시간 단위로 데이터 정리\n- Total Yield(kWh)를 이전 시간과 차이를 계산하여 해당 시간의 생산량으로 변환\n- target은 일(day)를 기준으로 생성 (ex. 하루 뒤 or 일주일 뒤)\n- 발전소 내 `Inverter` 별 중간에 데이터가 수집이 안된 일자(date)의 경우 'ffill' -\u003e 'bfill' 순으로 처리함\n\n**Weahter data**\n- 기상 데이터는 모두 사용\n- 결측치는 0으로 처리\n\n\n**Table merge**\n\n1. 발전소 변환 데이터와 발전소 테이블은 `pp_id`를 기준으로 merge\n2. 앞선 결과 데이터의 `pp_addr`과 기상 데이터의 `지점명`을 통해 시군(`si_gun`)을 추출하여 merge\n\n## Data split\n\n- train과 test로 분리\n- testset은 월(month) 별 마지막 날짜를 기준으로 사전에 정의한 일(day) 수 만큼 사용\n\n\n## Run\n\n**Case1**\n- target: 하루 뒤 발전량\n- test period: 매월 마지막일 기준 그전 3일\n\n```{bash}\npython main.py --target_day 1 --test_period_day 3 --savedir ./preprocessed_data\n```\n\n**Case2**\n- target: 일주일 뒤 발전량\n- test period: 매월 마지막일 기준 그전 3일\n\n```{bash}\npython main.py --target_day 7 --test_period_day 3 --savedir ./preprocessed_data\n```\n\n**Case3**\n- target: 하루 뒤 발전량 and 일주일 뒤 발전량\n- test period: 매월 마지막일 기준 그전 3일\n\n```{bash}\npython main.py --target_day 1 7 --test_period_day 3 --savedir ./preprocessed_data\n```\n\n## Results\n\nCase | target day | test period | train size | test size\n---|---|---|---|---\nCase1 | 1 | 3 | 219,044 | 25,056\nCase2 | 7 | 3 | 209,252 | 25,056\nCase3 | 1, 7 | 3 | 209,252 | 25,056\n\n\n## Processed Columns\n\n변수 설명은 비밀입니다\n\n- pp_id\n- Inverter\n- Date\n- Total Yield(kWh)\n- Total Yield(kWh)_diff\n- Total Yield(kWh)_diff_1day\n- Total Yield(kWh)_diff_7day\n- pp_lati\n- pp_longi\n- temp\n- precipitation\n- wind_speed\n- wind_direction\n- humid\n- atmo_pressure\n- sunshine\n- solar_radiation\n- snow_cover\n- cloud_cover\n- ground_temp","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftootouch%2Fsolar_power-forecasting","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftootouch%2Fsolar_power-forecasting","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftootouch%2Fsolar_power-forecasting/lists"}