Welcome, guest! Login / Register - Why register?
Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so just use oauth login instead. :)

Paste

Pasted as C++ by regresyon ( 15 years ago )
// En küçük kareler yöntemine göre, girilen
// 10 adet x ve 10 adet y değerine ilişkin
// aralarındaki ilişkiyi doğrusal regresyon modeline
// göre modelleyen, ilişki katsayısını ve
// belirtme katsayını bulan c++  programı:

#include <iostream>
#include <cmath>
using namespace std;
double bagimli[10];
double bagimsiz[10];
double x,y,a,b,n=10,xtoplam=0,xortalama,ytoplam=0,yortalama;
double xytoplam=0,ortalamalarcarpimi,xkarelertoplami;
double xortalamakare,yoakt=0,rkt=0,Rkare,r;
int main()
{
 cout<<endl;
 cout<<" x --> bagimsiz verileri giriniz: nn";
 for(int f=0;f<10;f++)
 {
  cout<<f+1<<". bagimsiz (x) veri:";              // Bagımsız (x) veriler giriliyor.
  cin>>bagimsiz[f];
  cout<<endl;
 }
 cout<<endl<<endl;

 cout<<" x --> bagimsiz veriler= ";
 for(int h=0;h<10;h++)
 {
  cout<<bagimsiz[h]<<"  ";
 }
 cout<<endl<<endl;
  


 cout<<" y --> bagimli verileri giriniz:  nn";
 for(int i=0;i<10;i++)
 {
  cout<<i+1<<". bagimli (y) veri:";
  cin>>bagimli[i];                                                // Bağımlı (y) veriler giriliyor.
             cout<<endl;
 }
 cout<<endl<<endl;

 cout<<" y --> bagimli veriler= ";
 for(int j=0;j<10;j++)
 {
  cout<<bagimsiz[j]<<"  ";
 }
 cout<<endl<<endl;



 cout<<" DOGRUSAL REGRESYON MODELI---->";     // Dogrusal rergresyon modeli.(y=a+bx)
 cout<<" y = a + b*x";
 cout<<endl<<endl;


 for(int k=0;k<10;k++)
 {
  xtoplam=xtoplam+bagimsiz[k];
 } 
 cout<<" x'ler toplami = "<<xtoplam;
 cout<<endl<<endl;                                                // Bağımsız (x) verilerin toplamı ve ortalamsı bulunuyor.

 xortalama=xtoplam/n;
 cout<<" x'lerin ortalamasi= "<<xortalama;
 cout<<endl<<endl;


 for(int l=0;l<10;l++)
 {
  ytoplam=ytoplam+bagimli[l];
 }
 cout<<" y'ler toplami = "<<ytoplam;
 cout<<endl<<endl;                                                  // Bağımlı (y) verilerinin yoplamı ve ortalaması bulunuyor.

 yortalama=ytoplam/n;
 cout<<" y'lerin ortalamasi= "<<yortalama;
 cout<<endl<<endl;


 for(int m=0;m<10;m++)
 {
  xytoplam=xytoplam+(bagimsiz[m]*bagimli[m]);
 }
 cout<<" (xi*yi)'lerin toplami= "<<xytoplam;                    // Xi*Yi çapımlarının toplamı hesaplanıyor.i=1,2,...,10
 cout<<endl<<endl;


 ortalamalarcarpimi=xortalama*yortalama;
 cout<<" x ortalama * y ortalama= "<<ortalamalarcarpimi;                           // Ortalamalar çarpımı hesaplanıyor.
 cout<<endl<<endl;


 for(int t=0;t<10;t++)
 {
  xkarelertoplami=xkarelertoplami+(pow(bagimsiz[t],2));              // X'lerin kareleri toplamı hesaplanıyor.
 }
 cout<<" x'lerin kareler toplami= "<<xkarelertoplami;
 cout<<endl<<endl;


 xortalamakare=pow(xortalama,2);
 cout<<" x ortalamanin karesi= "<<xortalamakare;                               // X'lerin ortalamasını karesi hesaplanıyor.
 cout<<endl<<endl;


 b=(xytoplam-(n*ortalamalarcarpimi))/((xkarelertoplami)-(n*xortalamakare));                                                                                     
 cout << "x'in katsayisi ----> b= " << b;
 //cout<<" x'in katsayisi ----> b= "<<b;                                           .                                 
 cout<<endl<<endl;                                                                                  // y=a+bx idi ve modeldeki b bulunuyor.


 a=yortalama-(b*xortalama);
 cout<<" regresyon katsayisi ----> a= "<<a;                                             // y=a+bx  idi ve modeldeki a bulunuyor.
 cout<<endl<<endl;

 for(int s=0;s<10;s++)
 {
  yoakt=yoakt+pow((bagimli[s]-yortalama),2);
 }
 cout<<" y'lerin ortalamadan ayrislarinin kareler toplami= "<<yoakt;
 cout<<endl<<endl;                                             //(Yi-Yortalama)'ların kareler toplamı hesaplanıyor.i=1,2,..,10



 rkt=(rkt+pow((xytoplam-(n*ortalamalarcarpimi)),2))/((xkarelertoplami)-(n*xortalamakare));
 cout<<" regresyon kareler toplami= "<<rkt;
 cout<<endl<<endl;


 Rkare=rkt/yoakt;
 cout<<" belirtme katsayisi---->Rkare= "<<Rkare<<":";                           // Belirtme katsayısı (Rkare) bulunuyor.
 cout<<endl<<endl;

 cout<<" dogrusal regresyon modeli x ve y arasindaki iliskinin n";
 cout<<" % "<<Rkare*100<<" kadarini aciklamaktadir.";
 cout<<endl<<endl;

 r=sqrt(Rkare);
 cout<<" iliski katsayisi----> r= "<<r<<":";                // İlişki katsayısı (r) bulunuyor  ve 
 cout<<endl<<endl;                                                     // r'nin durumuna göre yorum yapılıyor.


 if(r>0)
 {
  cout<<" r>0 --> ";
  cout<<" x ve y 'ler arasinda pozitif  yönlü bir iliski vardir.n"; 
  cout<<" x'ler arttikca y'ler de artar n"; 
  cout<<" veya x'ler azaldikca y'ler de azalir.";
  cout<<endl<<endl;
 }
 else if(r=0)
 {
  cout<<" r=0 -->";
  cout<<" x ve arasinda bir iliskiden soz edilemez.x'ler y'leri etkilemez";
  cout<<endl<<endl;
 }
 else
 {
  cout<<" r<0 -->";
  cout<<" x ve y 'ler arasında negatif yönlü bir iliski vardir.n"; 
  cout<<" x'ler arttikca y'ler azalir veya n";
  cout<<" x'ler azaldikca y'ler artar.";
  cout<<endl<<endl;
 }



 cout<<" DOGRUSAL REGRESYON MODELİ ---> y = ";
 cout<<a<<" + "<<b<<"*X";                            
      cout<<endl<<endl;                                                 // DOĞRUSAL REGRESYON MODELİ OLUŞTURULDU.
 

 return 0;
}

 

Revise this Paste

Your Name: Code Language: