목차
1.선형회귀직선식
2.임의값에대한 결과값
3.상관계수 r
4.소스코드
2.임의값에대한 결과값
3.상관계수 r
4.소스코드
본문내용
식 : 에서 임의의 X값에 따른 Y를 도출하여보자.
x = 3으로 설정
결론 a.
검증. 손풀이와 일치함
#8-3
▣ 상관계수 값을 구하고, 데이터 x, y 사이에는 어떤 관계가 있는지 추론하시오.
접근 1. 상관계수 r값을 구하고 추론하여보자
data
1
2
3
4
5
비고
1
2
3
4
5
15
225
3
7
8
12
14
44
1936
1
4
9
16
25
55
9
49
64
144
196
462
3
14
24
48
70
159
결론 a.
추론. 데이터 x, y 사이에는 어떤 관계가 있는지 추론하여보자.
상관계수 r 은 x와 y의 선형관계의 정도를 나타내는데 나의 상관계수는 으로 부호가 양인 1에 가까운 수이다. 이로써
그래프는 변수 x 가 증가할수록 변수 y도 증가하는 양의 상관관계를 가질 것이라 추측할 수 있고,
x 와 y 는 앞서 구한 선형회귀방정식의 아주 근사한 곳에 위치해 있음을 추측할 수 있다.
검증. 손풀이와 일치함
clear all % 선형회귀방정식
clc
n=5;
x=[1 2 3 4 5];
y=[3 7 8 12 14];
xy=x.*y;
sumofxy=sum(xy);
sumofx=sum(x);
sumofy=sum(y);
squareofx=x.^2; sumofxsquare=sum(squareofx);
squareofsumx=sumofx.^2;
n=n;
a1=(n*sumofxy-sumofx*sumofy)/(n*sumofxsquare-squareofsumx);
ybar=sumofy/n;
xbar=sumofx/n;
a0=ybar-a1*xbar;
fprintf('a1 = %2.4f a0 = %2.4f 선형회귀직선식 : y = %2.4f x + %2.4f \n' ,a1,a0,a1,a0)
clear all % 임의의 X에 따른 Y
clc
fprintf('y=2.7*x+0.7 \n')
x=3;
y=2.7*x+0.7;
fprintf(' x = %2.4f y = %2.4f \n',x,y)
clear all % 상관계수구하기
clc
n=5;
x=[1 2 3 4 5];
y=[3 7 8 12 14];
xy=x.*y;
sumofxy=sum(xy);
sumofx=sum(x);
sumofy=sum(y);
squareofx=x.^2; sumofxsquare=sum(squareofx);
squareofsumx=sumofx.^2;
squareofy=y.^2; sumofysquare=sum(squareofy);
squareofsumy=sumofy.^2;
n=n;
r=(n*sumofxy-sumofx*sumofy)/(sqrt(n*sumofxsquare-squareofsumx)*sqrt(n*sumofysquare-squareofsumy));
fprintf('r = %2.4f \n' ,r)
%--------------------------------------------------------------------------
% 교수님이주신 소스
x = [1 2 3 4 5] % x 좌표값
y = [3 7 8 12 14] % y 좌표값
x0 = 1 % 특정점
a = polyfit(x,y,1) % y=a1*x + a0 로 fitting 하여 얻은 계수를 a 에 저장
z = polyval(a,x0) % y=a1*x + a0 를 이용하여 특정 점 x = x0 에서의 값 구하기
r = corrcoef(x,y) % 상관계수 구하기 : r(1,2) 가 상관계수값
x_p = min(x):0.1:max(x);
y_p = polyval(a,x_p);
plot(x,y,'o', x0, z, 'rs', x_p,y_p) % 주어진 점, 특정값, 회귀직선을 하나의 그래프로 그리기
grid on
x = 3으로 설정
결론 a.
검증. 손풀이와 일치함
#8-3
▣ 상관계수 값을 구하고, 데이터 x, y 사이에는 어떤 관계가 있는지 추론하시오.
접근 1. 상관계수 r값을 구하고 추론하여보자
data
1
2
3
4
5
비고
1
2
3
4
5
15
225
3
7
8
12
14
44
1936
1
4
9
16
25
55
9
49
64
144
196
462
3
14
24
48
70
159
결론 a.
추론. 데이터 x, y 사이에는 어떤 관계가 있는지 추론하여보자.
상관계수 r 은 x와 y의 선형관계의 정도를 나타내는데 나의 상관계수는 으로 부호가 양인 1에 가까운 수이다. 이로써
그래프는 변수 x 가 증가할수록 변수 y도 증가하는 양의 상관관계를 가질 것이라 추측할 수 있고,
x 와 y 는 앞서 구한 선형회귀방정식의 아주 근사한 곳에 위치해 있음을 추측할 수 있다.
검증. 손풀이와 일치함
clear all % 선형회귀방정식
clc
n=5;
x=[1 2 3 4 5];
y=[3 7 8 12 14];
xy=x.*y;
sumofxy=sum(xy);
sumofx=sum(x);
sumofy=sum(y);
squareofx=x.^2; sumofxsquare=sum(squareofx);
squareofsumx=sumofx.^2;
n=n;
a1=(n*sumofxy-sumofx*sumofy)/(n*sumofxsquare-squareofsumx);
ybar=sumofy/n;
xbar=sumofx/n;
a0=ybar-a1*xbar;
fprintf('a1 = %2.4f a0 = %2.4f 선형회귀직선식 : y = %2.4f x + %2.4f \n' ,a1,a0,a1,a0)
clear all % 임의의 X에 따른 Y
clc
fprintf('y=2.7*x+0.7 \n')
x=3;
y=2.7*x+0.7;
fprintf(' x = %2.4f y = %2.4f \n',x,y)
clear all % 상관계수구하기
clc
n=5;
x=[1 2 3 4 5];
y=[3 7 8 12 14];
xy=x.*y;
sumofxy=sum(xy);
sumofx=sum(x);
sumofy=sum(y);
squareofx=x.^2; sumofxsquare=sum(squareofx);
squareofsumx=sumofx.^2;
squareofy=y.^2; sumofysquare=sum(squareofy);
squareofsumy=sumofy.^2;
n=n;
r=(n*sumofxy-sumofx*sumofy)/(sqrt(n*sumofxsquare-squareofsumx)*sqrt(n*sumofysquare-squareofsumy));
fprintf('r = %2.4f \n' ,r)
%--------------------------------------------------------------------------
% 교수님이주신 소스
x = [1 2 3 4 5] % x 좌표값
y = [3 7 8 12 14] % y 좌표값
x0 = 1 % 특정점
a = polyfit(x,y,1) % y=a1*x + a0 로 fitting 하여 얻은 계수를 a 에 저장
z = polyval(a,x0) % y=a1*x + a0 를 이용하여 특정 점 x = x0 에서의 값 구하기
r = corrcoef(x,y) % 상관계수 구하기 : r(1,2) 가 상관계수값
x_p = min(x):0.1:max(x);
y_p = polyval(a,x_p);
plot(x,y,'o', x0, z, 'rs', x_p,y_p) % 주어진 점, 특정값, 회귀직선을 하나의 그래프로 그리기
grid on