Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- Ga
- 매틀랩
- 한빛미디어서평단
- 블로그
- 시각화
- Linux
- Google Analytics
- 딥러닝
- matplotlib
- 통계학
- SQL
- 한빛미디어
- Blog
- Pandas
- 서평
- Python
- 월간결산
- 티스토리
- python visualization
- 독후감
- 텐서플로
- MySQL
- 서평단
- 파이썬 시각화
- 파이썬
- Tistory
- 리눅스
- MATLAB
- tensorflow
- Visualization
Archives
- Today
- Total
pbj0812의 코딩 일기
[통계학] python을 이용한 블로그 방문자수 회귀선 그리기 본문
* 주의 : 이 데이터는 회귀를 사용하기에는 좋은 데이터가 아닙니다!!!
0. 목표
- python을 이용한 내 블로그 방문자 수 회귀선 그리기
- Y = a + bX (링크)
1. 실습
1) library 호출
import matplotlib.pyplot as plt
2) 데이터 생성
- y : 블로그를 다시 쓰기 시작한 2019년 2월 부터의 방문자수를 사용
- x : 2019년 2월을 1로 두고 1씩 증가하는 형태
y = [98, 221, 221, 419, 440, 451, 531, 523, 699, 612, 977, 1002, 1263, 1531, 2174, 3320, 3758, 5161]
x = [i for i in range(1, len(y) + 1)]
3) 데이터 확인
plt.bar(x, y)
4) 평균 함수
def mean(inp):
result = 0
len_inp = len(inp)
for i in inp:
result += i
result = result / len_inp
return result
5) b 계산 함수
def make_b(x, y):
mean_x = mean(x)
mean_y = mean(y)
son = 0
mom = 0
for i in range(len(x)):
son += (x[i] - mean_x) * (y[i] - mean_y)
for i in range(len(y)):
mom += (x[i] - mean_x) ** 2
b = son / mom
return b
6) a 계산 함수
def make_a(x, y):
mean_x = mean(x)
mean_y = mean(y)
b = make_b(x, y)
a = mean_y - (b * mean_x)
return a
7) a, b 연산
b = make_b(x, y)
a = make_a(x, y)
8) 회귀로 구한 y 값
reg_y = []
for i in x:
reg_y.append(a + (b * i))
9) 그래프 생성
plt.scatter(x, y, label = 'real')
plt.plot(x, reg_y, c = 'r', label = 'reg')
plt.legend()
10) seaborn 패키지를 통한 결과 비교
import seaborn as sns
import pandas as pd
df = pd.DataFrame({'x' : x, 'y' : y})
sns.lmplot(x = 'x', y = 'y', data = df, line_kws = {'color' : 'red'})
2. 참고
- 선형 회귀 분석
'Science > 통계학' 카테고리의 다른 글
[통계학] spicy 패키지를 이용한 동전 던지기(베이지안) (0) | 2020.08.31 |
---|---|
[통계학] 몬테 카를로 방법을 통한 원의 넓이 계산(python) (0) | 2020.08.30 |
[통계학] python을 이용한 부트스트랩 구현 (2) | 2020.08.28 |
[통계학] python을 통한 모평균의 신뢰구간 계산 (0) | 2020.08.24 |
[통계학] python으로 F 분포 그래프 그리기 (0) | 2020.08.19 |
Comments