Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #HZS05V
- #Varhato(atlag), soras(sum(i elem - varhato)^2) majd ezt *(1/n-1),
- #kovarancia sum((xi - varhatox )* (yi - varhatoy)) majd /n-1
- #lin_reg : minden elotte 2 valtozora, b=kov/szoras_X, a = varhato_y - (varhato_x)*(b), a_b vissza
- #IPSZILON = a + b*x;
- Varhato = function(a) {
- summa = 0;
- i=1;
- while( i <= length(a)) {
- summa = summa + a[i];
- i=i+1;
- }
- return(summa = summa/length(a));
- }
- soras = function(a) {
- varhato_ertek = Varhato(a);
- sum = 0;
- i=1;
- while( i <= length(a)) {
- sum = sum + (sum((a[i]-varhato_ertek)^2));
- i=i+1;
- }
- korrigalt = sum*(1/(length(a)-1));
- C= c(korrigalt ,varhato_ertek);
- return(C);
- }
- kovarancia = function(a,b){
- sum = 0;
- n = length(a);
- i=1;
- varhato_x = soras(x)[2];
- varhato_y = soras(y)[2];
- while(i<= n){
- sum = sum + (a[i]-varhato_x)*(b[i]-varhato_y);
- i=i+1;
- }
- return (sum/(n-1));
- }
- linreg = function(x,y){
- szoras_negyzet_x = soras(x)[1];
- varhato_x = soras(x)[2];
- szoras_negyzet_y = soras(y)[1];
- varhato_y = soras(y)[2];
- kov_xy = kovarancia(x,y);
- b_kalap = (kov_xy)/(szoras_negyzet_x);
- a_kalap = varhato_y - (varhato_x)*(b_kalap);
- a_b = c(a_kalap,b_kalap);
- return (a_b);
- }
- #^^ FUNCTIONS ^^
- #ÉRTÉK MEGADÁS
- x=c(1,2,3,4,5);
- y=c(1.1,2.1,2.9,4.1,5.1);
- #FŐ FÜGGVÉNY
- a_b = linreg(x,y);
- #Y RAJZOLÁSA
- a_kalap = a_b[1];
- b_kalap = a_b[2];
- #a és b fordítva
- IPSZILON = a_kalap + b_kalap*x;
- plot(x,y);
- #extra
- abline(lm(y~x), col="blue",lwd="2",lty="dotted");
- lines(IPSZILON,type="l", col="red",lwd="2", lty="dotted");
- legend("bottomright", c("beépített","saját"), pch=8, col = c("blue","red"), title = "függvények");
- legend("topleft",legend=list(a_kalap,b_kalap),title="a és b");
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement