X<-scan("/home/katerina/Επιφάνεια εργασίας/Current Work/Απόκτηση Ακαδημαϊκής εμπειρίας/ΕΚΠΑ 2020-2021/Υπολογιστηκή Στατιστική/Μάθημα 12/DataG.txt") ####params είναι το διάνυσμα που περιέχει της παραμέτρους a και b της Κατανομής Γάμμα lG<-function(data,params){ a<-params[1] b<-params[2] n<-length(data) lG<-(a-1)*sum(log(data))+n*a*log(b)-b*sum(data)-n*lgamma(a) g<-matrix(c(NA,NA),c(2,1)) g[1,1]<-sum(log(data))+n*log(b)-n*digamma(a) g[2,1]<-n*a/b-sum(data) return(list(loglik=lG,gradient=g)) } NR.Gamma<-function(data){ n<-length(data) m1<-mean(data) m2<-data%*%data/n b0<-m1/(m2-m1^2) a0<-m1^2/(m2-m1^2) params0<-c(a0,b0) test<-3 while (test!=10) { A<-matrix(c(-n*trigamma(params0[1]),n/params0[2],n/params0[2],-n*params0[1]/(params0[2]^2)),c(2,2)) params.new<-matrix(params0,c(2,1))-solve(A)%*%matrix(lG(data,params0)$gradient,c(2,1)) if (max(abs(params.new-params0))<=10^(-6)) { test<-10} else { print(params.new) params0<-params.new } } return(params.new) }