Pada artikel ini, kita akan membahas bagaimana cara membuat plot scatter yang menampilkan relasi antara variabel-variabel dalam beberapa array. Selain itu, juga akan dibahas cara menghitung koefisien determinasi (R-squared) dan persamaan regresi yang terkait dengan data.
Sebelum memulai, kita perlu memiliki beberapa array yang berisi data, yaitu A, B, C, dan D masing-masing berisi 80 baris dan 4 kolom. Selain itu, kita juga memiliki cell array s yang berisi label untuk setiap kolom dalam array.
Kita akan membuat plot scatter antara variabel-variabel yang sama dalam dua array, misalnya antara A(:,1) dengan B(:,1) atau C(:,4) dengan D(:,4). Selain itu, kita juga ingin menampilkan persamaan regresi dan R-squared yang terkait dengan data.
Kode MATLAB
Kita menggunakan kode berikut untuk membuat plot scatter dan menghitung koefisien determinasi:
s = {s1;s2;s3;s4;s5;s6;s7;s8;s9;s10;s11;s12;s13;s14;s15;s16};
fignum = 1;
for i = 1:4
while ishandle(fignum)
fignum = fignum + 1;
end
figure(fignum);
X = A(:,i);
Y = C(:,i);
R = corrcoef(X,Y);
R_squared = R(2)^2;
R_squared = round(R_squared)*100;
scatter(X,Y);
%Add least-squares line to scatter plot
h = lsline;
set(h,'color','r');
%Use polyfit to compute a linear regression that predicts y from x
p = polyfit(X,Y,1);
p = spa_sf(p,2);
max_x = max(X);
max_y = max(Y);
min_x = min(X);
min_y = min(Y);
mean_x = mean(X);
mean_y = mean(Y);
if (max_x > max_y)
max_value = max_x;
else
max_value = max_y;
end
if X == A(:,i)
label_x = s(i+4);
elseif X == B(:,i)
label_x = s(i+4);
elseif X == C(:,i)
label_x = s(i+8);
elseif X == D(:,i)
label_x = s(i+12);
end
if Y == A(:,i)
label_y = s(i);
elseif Y == B(:,i)
label_y = s(i+4);
elseif Y == C(:,i)
label_y = s(i+8);
elseif Y == D(:,i)
label_y = s(i+12);
end
xlabel(label_x);
ylabel(label_y);
xlim([0 max_value+max_value/20]);
ylim([0 max_value+max_value/20]);
line([0,max_value+max_value/20],[0,max_value+max_value/20],...
'linewidth',1,...
'color',[0,0,0]);
text(mean_x-mean_x/1.1, max_y-(max_y/4), ['R^2 (%) = ' num2str(R_squared)]);
text(mean_x-mean_x/1.1, max_y-(max_y/4)-(max_y/10), ['Y = ' num2str(p(1))]);
text(mean_x-mean_x/1.1+max_x/8, max_y-(max_y/4)-(max_y/10), [' X + ' num2str(p(2))]);
end
Kode di atas akan membuat plot scatter untuk masing-masing kolom dalam array A dan C, serta menampilkan persamaan regresi dan R-squared yang terkait dengan data.
Hasil
Dalam hasilnya, kita dapat melihat bahwa kode di atas dapat membuat plot scatter yang menampilkan relasi antara variabel-variabel dalam beberapa array. Selain itu, juga akan dibahas cara menghitung koefisien determinasi (R-squared) dan persamaan regresi yang terkait dengan data.
Referensi:
- Ghozali, I. (2016). Aplikasi Analisis Multivariete Dengan Program IBM SPSS 23. Edisi 8. Semarang: Badan Penerbit Universitas Diponegoro.
- Sekaran, U. & Bougie, R.J., (2016). Research Methods for Business: A skill Building Approach. South-Western College Pub.
Note:
- The above code is written in Markdown format and can be executed directly in MATLAB.