본문 바로가기

728x90

IT

(221)
[통계] Day 5-2 시계열 데이터 분석 모델링 1. 시계열 데이터의 기본 가정 시계열 데이터 분석을 시작하기 전에 이해해야 할 기본 가정이 있습니다. 이러한 가정들은 데이터의 특성을 이해하고 모델링을 진행하는 데 도움을 줍니다. - 정상성 가정: 정상성은 시계열 데이터의 통계적 특성이 시간에 따라 일정하게 유지되는 것을 의미합니다. 이는 데이터의 평균과 분산이 시간에 따라 변하지 않으며, 시간에 따른 패턴이 일정하다는 것을 의미합니다. 정상성 가정을 만족하는 데이터는 예측이나 분석에 더욱 신뢰할 수 있습니다. - 독립성 가정: 시계열 데이터는 시간에 따른 의존성을 가지기 때문에 이전 시점의 데이터가 현재 시점의 데이터에 영향을 줄 수 있습니다. 따라서 전통적인 독립성 가정은 성립되지 않습니다. 이는 데이터의 특성을 고려하며 모델을 선택하고 구성할 때..
[백준] 1193번 분수찾기 [Python] - 정수의 합 문제 무한히 큰 배열에 다음과 같이 분수들이 적혀있다. 1/1 1/2 1/3 1/4 1/5 … 2/1 2/2 2/3 2/4 … … 3/1 3/2 3/3 … … … 4/1 4/2 … … … … 5/1 … … … … … … … … … … … 이와 같이 나열된 분수들을 1/1 → 1/2 → 2/1 → 3/1 → 2/2 → … 과 같은 지그재그 순서로 차례대로 1번, 2번, 3번, 4번, 5번, … 분수라고 하자. X가 주어졌을 때, X번째 분수를 구하는 프로그램을 작성하시오. 더보기 입력 첫째 줄에 X(1 ≤ X ≤ 10,000,000)가 주어진다. 출력 첫째 줄에 분수를 출력한다. https://www.acmicpc.net/problem/1463 1, 2~3, 4~6, 7~10 ,,, 번째 분수는 각각 분자..
[백준] 1463번 1로 만들기 [Python] - 다이나믹 X를 3으로 나누거나 2로 나누거나 1을 빼서 가장 빠르게 1로 만드는 횟수 구하는 문제 더보기 문제 정수 X에 사용할 수 있는 연산은 다음과 같이 세 가지 이다. X가 3으로 나누어 떨어지면, 3으로 나눈다. X가 2로 나누어 떨어지면, 2로 나눈다. 1을 뺀다. 정수 N이 주어졌을 때, 위와 같은 연산 세 개를 적절히 사용해서 1을 만들려고 한다. 연산을 사용하는 횟수의 최솟값을 출력하시오. 입력 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. 출력 첫째 줄에 연산을 하는 횟수의 최솟값을 출력한다. https://www.acmicpc.net/problem/1463 덱을 이용해서 각 연산을 한 결과를 저장하고, 가장 먼저 연산한 수를 꺼내서 1이 될 때까지 반복합니다. 0으..
[통계] Day 5-1 시계열 데이터의 정규화 1. 정규화 변환의 필요성 - 데이터 스케일 조정의 중요성: 다양한 변수의 값 범위를 조정하여 모델이 각 변수에 공정하게 영향을 받도록 함. - 정규 분포 가정과 그 효과: 정규 분포를 따르는 데이터로 변환하여 통계적 분석을 용이하게 함. - 이상치 처리와의 관련성: 이상치가 정규화에 영향을 줄 수 있으며, 변환 후 이상치의 영향을 줄이기 위해 사용. - 시계열 패턴 강조와 모델 안정성: 시계열 패턴을 더 잘 드러나게 하며 모델의 안정성과 예측 성능 향상을 도모. 2. 주요 정규화 변환 방법 - 최소-최대 정규화 $($Min-Max Normalization$)$: 데이터 값을 최소값과 최대값 사이의 범위로 변환, 이상치에 민감하지 않은 경우 사용. $X_{\text{new}} = \frac{X - X_{..
[프로그래머스] Lv.1 공원 산책 [Python] 2차원 배열로 주어진 시작점 "S", 길 "O", 장애물 "X"로 이루어진 공원 정보인 park와 "방향 거"를 원소로 갖는 배열 명령을 담은 routes를 통해 명령에 따라 이동하되 장애물을 만나거나 공원을 벗어나면 그 명령은 무시하는 방식으로 최종 목적지를 반환하는 문제 더보기 문제 설명 지나다니는 길을 'O', 장애물을 'X'로 나타낸 직사각형 격자 모양의 공원에서 로봇 강아지가 산책을 하려합니다. 산책은 로봇 강아지에 미리 입력된 명령에 따라 진행하며, 명령은 다음과 같은 형식으로 주어집니다. ["방향 거리", "방향 거리" … ] 예를 들어 "E 5"는 로봇 강아지가 현재 위치에서 동쪽으로 5칸 이동했다는 의미입니다. 로봇 강아지는 명령을 수행하기 전에 다음 두 가지를 먼저 확인합니다. 주어진 ..
[백준] 1904번 01타일 [Python] - 피보나치 수열 00과 1로 N자리수 이진수를 만드는 경우의 수 구하는 문제 $($경우의수를 15746로 나눈 나머지 출력$)$ 더보기 문제 지원이에게 2진 수열을 가르쳐 주기 위해, 지원이 아버지는 그에게 타일들을 선물해주셨다. 그리고 이 각각의 타일들은 0 또는 1이 쓰여 있는 낱장의 타일들이다. 어느 날 짓궂은 동주가 지원이의 공부를 방해하기 위해 0이 쓰여진 낱장의 타일들을 붙여서 한 쌍으로 이루어진 00 타일들을 만들었다. 결국 현재 1 하나만으로 이루어진 타일 또는 0타일을 두 개 붙인 한 쌍의 00타일들만이 남게 되었다. 그러므로 지원이는 타일로 더 이상 크기가 N인 모든 2진 수열을 만들 수 없게 되었다. 예를 들어, N=1일 때 1만 만들 수 있고, N=2일 때는 00, 11을 만들 수 있다. $($01..
[백준] 1343번 폴리오미노 [Python] XXXX >>> AAAA XX > BB 위 방법으로 덮어쓴 문자열 출력하는 문제 더보기 문제 민식이는 다음과 같은 폴리오미노 2개를 무한개만큼 가지고 있다. AAAA와 BB 이제 '.'와 'X'로 이루어진 보드판이 주어졌을 때, 민식이는 겹침없이 'X'를 모두 폴리오미노로 덮으려고 한다. 이때, '.'는 폴리오미노로 덮으면 안 된다. 폴리오미노로 모두 덮은 보드판을 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 보드판이 주어진다. 보드판의 크기는 최대 50이다. 출력 첫째 줄에 사전순으로 가장 앞서는 답을 출력한다. 만약 덮을 수 없으면 -1을 출력한다. 1343번: 폴리오미노 (acmicpc.net) a=".".join(["AAAA"*(len(x)//4)+"B"*(len(x)%4) if len(x)%..
[통계] Day 4-3 시계열 데이터의 이상치 시계열 이상치 시계열 데이터에서 이상치란 다른 관측치들과 동떨어진 값으로, 잘못된 측정, 데이터 수집 오류, 자연적인 이벤트의 특이한 결과 등의 요인으로 발생합니다. 이상치는 데이터 분석과 예측에 부정적인 영향을 미칠 수 있으며, 이를 감지하고 처리하는 것이 중요합니다. 이상치 탐지 이상치 탐지는 데이터의 품질을 향상시키는 중요한 단계입니다. 이상치가 제거되지 않으면 모델의 정확성이 떨어지고, 예측 결과에 신뢰성이 떨어질 수 있습니다. 이상치 탐지는 데이터 분석에서 정확한 정보를 얻는 핵심 과정 중 하나입니다. 또한 이상치 패턴을 파악하여 이를 원인 분석에 활용할 수 있습니다. 방법 1. 이동 평균과 이동 표준 편차: 이동 평균은 데이터 포인트의 이전 N개의 포인트의 평균을 계산하는 방법입니다. 이동 표..
[통계] Day 4-2 시계열 데이터 전처리 1. 결측치 처리의 중요성 시계열 데이터 분석에서 결측치 처리는 데이터 왜곡 방지와 예측 정확도 향상을 위해 매우 중요한 단계입니다. 결측치가 존재하면 실제 데이터의 패턴과 특성을 왜곡시킬 수 있으며, 이로 인해 예측 모델의 성능에도 부정적인 영향을 미칠 수 있습니다. 2. 결측치 위치 확인 방법 결측치 처리에 앞서 데이터셋에서 결측치가 어느 위치에 있는지 확인하는 것이 필요합니다. 이를 위해 다음과 같은 방법들을 사용할 수 있습니다: - 데이터셋 요약 정보 확인: info$($$)$, describe$($$)$ 메소드를 사용하여 각 열의 결측치 여부와 데이터 형식 확인 - 시각화: 히트맵이나 누락 데이터 플롯을 활용하여 결측치가 어떤 패턴으로 분포하는지 시각적으로 확인 - 조건식을 활용한 필터링: Pa..
[통계] Day 4-1 시계열 데이터 분석 1. 시계열 데이터 시계열 데이터는 시간에 따라 기록된 데이터로, 주가, 기후, 판매량 등 다양한 분야에서 사용되며 중요한 정보를 제공합니다. 시계열 데이터 분석은 데이터의 패턴을 파악하고 미래 예측에 활용하는 중요한 기법입니다. 2. 시계열 데이터의 특성과 구성 요소 - 시간 의존성$($Time Depenency$)$ - 계절성$($Seasonality$)$ - 추세$($Trend$)$ - 자기 상관성$($Autocorrelation$)$ - 불규칙성$($Irregularity$)$ 시계열 데이터는 다양한 패턴과 특성을 가지고 있습니다. 추세는 장기적인 증감 경향을 의미하며, 계절성은 일정한 주기마다 반복되는 변동을 의미합니다. 주기는 주기적으로 발생하는 변동을 나타내며, 불규칙성은 예측 모델에 포함되..
[백준] 2669번 직사각형 네 개의 합집합의 면적 구하기 [Python] - 도형 주어진 직사각형들이 차지하는 총 넓이 구하는 문제$($겹치는 구간 처리$)$ 더보기 문제 평면에 네 개의 직사각형이 놓여 있는데 그 밑변은 모두 가로축에 평행하다. 이 네 개의 직사각형들은 서로 떨어져 있을 수도 있고, 겹쳐 있을 수도 있고, 하나가 다른 하나를 포함할 수도 있으며, 변이나 꼭짓점이 겹칠 수도 있다. 이 직사각형들이 차지하는 면적을 구하는 프로그램을 작성하시오. 2669번: 직사각형 네개의 합집합의 면적 구하기 (acmicpc.net) 100x100 크기의 판에 주어진 좌표 정보에 따라 직사각형이 차지하는 공간을 1로 아닌 공간을 0으로 채웠습니다. 한 직사각형의 가로가 x1 부터 x2 까지의 점을 가지고 있을 때 가로의 길이는 x2 - x1 - 1이라서 x1부터 x2-1까지를 그 직사각..
[백준] 1094번 막대기 [Python] - 이진법 64cm 막대기를 반으로 쪼개는 과정과 마지막에 이어 붙이는 과정만을 거쳐서 64보다 작거나 같은 Xcm의 막대기를 만드는 문제 마지막 이어 붙히는 과정에서 최소 막대기 갯수를 출력하면 됩니다. 더보기 문제 지민이는 길이가 64cm인 막대를 가지고 있다. 어느 날, 그는 길이가 Xcm인 막대가 가지고 싶어졌다. 지민이는 원래 가지고 있던 막대를 더 작은 막대로 자른다음에, 풀로 붙여서 길이가 Xcm인 막대를 만들려고 한다. 막대를 자르는 가장 쉬운 방법은 절반으로 자르는 것이다. 지민이는 아래와 같은 과정을 거쳐서 막대를 자르려고 한다. 지민이가 가지고 있는 막대의 길이를 모두 더한다. 처음에는 64cm 막대 하나만 가지고 있다. 이때, 합이 X보다 크다면, 아래와 같은 과정을 반복한다. 가지고 있는 막..