나는 R과 R^2 값을 얻기 위해 선에 맞추기를 원하는 X와 Y 데이터 세트를 가지고 있으며 그 차이로부터 잔차를 그래프로 나타냅니다. 가장 적합한 라인 값과 실제 데이터 사이. 다음은이 수행 내 MATLAB 코드는 다음과 같습니다1의 선형 상관 관계 MATLAB에서 잔여 값을 남기기
maxx = max(X); minx = min(X);
fitx = minx:maxx/1000:maxx;
coeff = polyfit(X,Y,1);
fity = polyval(coeff,fitx);
temp = corrcoef(X,Y);
R = temp(2); R_squared = R^2;
ysub = polyval(coeff,X);
residuals = Y - ysub;
subplot(1,2,1);
plot(X,Y,'+',fitx,fity,'r')
xlabel(['R = ' num2str(R) '; R^2 = ' num2str(R_squared)]);
subplot(1,2,2);
bar(residuals);
그래서 나는 이 완벽하게 라인에 맞게 수있는 "이상적인"데이터 집합을해야 무엇에 그것을 테스트하고, 확실히 충분히, 나는 R과 R을 얻을^2 1의 가치, 그리고 내 첫 음모는 괜찮아 보이지만 내 잔류 물은 7000에서 -3000까지 다양합니다. 내 R 값이 1 인 경우 잔차가 0이 아니어야합니까?
여기 오해는 무엇입니까?
X = [100 200 290 390 480 580 670 760 860 950]
Y = 1.0e+07 * [0.2429 0.4929 0.7183 0.9689 1.1946 1.4453 1.6711 1.8968 2.1477 2.3735]
웁스! 그것은 필사하는 것에서의 오류 일뿐입니다. 내 실제 코드는 X의 최소값과 최대 값만을 취하는 것으로 시작합니다. 나는 그것을 반영하기 위해 질문을 편집했다. –
또한 샘플 데이터 세트를 질문에 추가했습니다. –