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