كيفية عمل إنحدار بسيط regression

أريد معرفة كيفية عمل إنحدار بسيط حسب معادلة الأنحدار التالية:

[FONT=Courier New][SIZE=2][COLOR=#228b22]
[SIZE=2][FONT=Courier New][COLOR=#228b22][SIZE=2][FONT=Courier New][COLOR=#228b22]y=s+bX+e regression con bajo precio cartera[/color][/font][/size]
[SIZE=2][FONT=Courier New][COLOR=#228b22]% y = depiendente variable[/color][/font][/size]
[SIZE=2][FONT=Courier New][COLOR=#228b22]% x = indepiendente variable[/color][/font][/size]
[SIZE=2][FONT=Courier New][COLOR=#228b22]% s = interspecto.[/color][/font][/size]
[SIZE=2][FONT=Courier New][COLOR=#228b22]% b = coefficient.[/color][/font][/size]
[SIZE=2][FONT=Courier New][COLOR=#228b22]% e = error[/color][/font][/size]
 
 
[/color][/font][/size][/color][/size][/font][FONT=Courier New][SIZE=2][COLOR=#0000ff][FONT=Courier New][SIZE=2][COLOR=#0000ff][FONT=Courier New][SIZE=2][COLOR=#0000ff]for[/color][/size][/font][/color][/size][/font][/color][/size][/font][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2][COLOR=#000000] i=N;[/color][/size][/font]
[SIZE=2][FONT=Courier New]x= fechasbajo(i,:);[/font][/size]
[SIZE=2][FONT=Courier New]x(:,1:3)=[];[/font][/size]
[SIZE=2][FONT=Courier New]y=bajodes;[/font][/size]
[SIZE=2][FONT=Courier New]b=glmfit(y,x);[/font][/size]
[SIZE=2][FONT=Courier New][r,c]=size(x);[/font][/size]
[SIZE=2][FONT=Courier New][w.u]=size(y);[/font][/size]
[SIZE=2][FONT=Courier New]n=length(x);[/font][/size]
[SIZE=2][FONT=Courier New][b,bint] = regress(y,x,n);[/font][/size]
[SIZE=2][FONT=Courier New]R=corrcoef(y,x);[/font][/size]
[SIZE=2][FONT=Courier New]b1=y\x;[/font][/size]
[SIZE=2][FONT=Courier New]b=regress(y,x);[/font][/size]
 
[/size][/font][FONT=Courier New][SIZE=2][COLOR=#0000ff][FONT=Courier New][SIZE=2][COLOR=#0000ff][FONT=Courier New][SIZE=2][COLOR=#0000ff]end[/color][/size][/font]
[/color][/size][/font][/color][/size][/font]

هل الأكواد صحيحة المستخدمة لأن بيتا والسلوب لم يطلعوا لي أرشدوني جزاكم الله خيراً

أخى العزيز أرفق ملف البيانات فى الموضوع
fechasbajo

المعادلة الصح هي حسب الكود التالي

[FONT=Courier New][SIZE=2][COLOR=#228b22][FONT=Courier New][SIZE=2][COLOR=#228b22][FONT=Courier New][SIZE=2][COLOR=#228b22]
%Programa que creas una regression contiene rentabilidad y con preciobajo cartera
%como el modelo siguiente
% y=s+bX+e regression con bajo precio cartera
% y = depiendente variable
% x = indepiendente variable
% s = interspecto.
% b = slop coefficient.
% e = error

[/color][/size][/font][/color][/size][/font][/color][/size][/font][FONT=Courier New][SIZE=2][COLOR=#0000ff][FONT=Courier New][SIZE=2][COLOR=#0000ff][FONT=Courier New][SIZE=2][COLOR=#0000ff]for[/color][/size][/font][/color][/size][/font][/color][/size][/font][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2][COLOR=#000000] i=1;[/color]
xx=mean(bajodes(2:101,:));
dejo=bajodes(2:101,:).*xx;
y=bajodes;
[r,c]=size(xx);
[w,u]=size(y);
regstats(y,xx,[/size][/font][/size][/font][FONT=Courier New][SIZE=2][COLOR=#a020f0][FONT=Courier New][SIZE=2][COLOR=#a020f0][FONT=Courier New][SIZE=2][COLOR=#a020f0]'linear'[/color][/size][/font][/color][/size][/font][/color][/size][/font][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2]);
stats = regstats([/size][/font][/size][/font][FONT=Courier New][SIZE=2][COLOR=#a020f0][FONT=Courier New][SIZE=2][COLOR=#a020f0][FONT=Courier New][SIZE=2][COLOR=#a020f0]'beta'[/color][/size][/font][/color][/size][/font][/color][/size][/font][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2],[/size][/font][/size][/font][FONT=Courier New][SIZE=2][COLOR=#a020f0][FONT=Courier New][SIZE=2][COLOR=#a020f0][FONT=Courier New][SIZE=2][COLOR=#a020f0]'adjrsquare'[/color][/size][/font][/color][/size][/font][/color][/size][/font][FONT=Courier New][SIZE=2][COLOR=#0000ff][FONT=Courier New][SIZE=2][COLOR=#0000ff][FONT=Courier New][SIZE=2][COLOR=#0000ff]...[/color][/size][/font][/color][/size][/font][/color][/size][/font][FONT=Courier New][SIZE=2][COLOR=#228b22][FONT=Courier New][SIZE=2][COLOR=#228b22][FONT=Courier New][SIZE=2][COLOR=#228b22])
[/color][/size][/font][/color][/size][/font][/color][/size][/font][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2]whichstats = {[/size][/font][/size][/font][FONT=Courier New][SIZE=2][COLOR=#a020f0][FONT=Courier New][SIZE=2][COLOR=#a020f0][FONT=Courier New][SIZE=2][COLOR=#a020f0]'yhat'[/color][/size][/font][/color][/size][/font][/color][/size][/font][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2],[/size][/font][/size][/font][FONT=Courier New][SIZE=2][COLOR=#a020f0][FONT=Courier New][SIZE=2][COLOR=#a020f0][FONT=Courier New][SIZE=2][COLOR=#a020f0]'r'[/color][/size][/font][/color][/size][/font][/color][/size][/font][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2]}; 
stats = regstats(y,xx,[/size][/font][/size][/font][FONT=Courier New][SIZE=2][COLOR=#a020f0][FONT=Courier New][SIZE=2][COLOR=#a020f0][FONT=Courier New][SIZE=2][COLOR=#a020f0]'linear'[/color][/size][/font][/color][/size][/font][/color][/size][/font][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2],whichstats)


[/size][/font][/size][/font][FONT=Courier New][SIZE=2][COLOR=#0000ff][FONT=Courier New][SIZE=2][COLOR=#0000ff][FONT=Courier New][SIZE=2][COLOR=#0000ff]end
[/color][/size][/font][/color][/size][/font][/color][/size][/font]

لكن المشكلة عندي عندما أطلع المتوسط في المصفوفة يطلع لي أرقام كثيرة في صف واحدفقط وأنا أريد متوسط كل صف من 2إلى غاية 101كل واحد لحاله كيف أخي أحمد جزاك الله خيراً

لقد أرسلت لك الفايل أنظر أخي أحمد للمصفوفةbajodes هي التي أخرج منها المتوسط وأضربه في العائد هي نفسها bajodesوهل يمكن أخرج متوسط كل صف في المصفوفة

أخى العزيز أرفق الفايل فى المنتدى او ضع رابط له
ليس انا فقط من يساعدك ربما قد تجد شخص أخر قد يساعدك أيضا
وبالنسبة للكود الذى أرسلته فهو يحتوى على كلام باللغة الأسبانية وهذا غير مسموح به فقط اللغة العربية او اللغة الانجليزية لانه لا أحد يعرف الاسبانية الا انت ولا أحد سيساعدك بهذه الصورة .

جزاك الله خيراً عني أخي أحمد الفايل حجمه كبير جداً أرسل لي رابط أحمله وأظهره على صفحات المنتدى

xx=mean( bajodes(2,:));

لقد حاولت أطلع متوسط كل صف لحاله 1،2،3إلي101بالمعادلة ولكن الإجابة NAN

يمكنك رفع الملف على أحدى مراكز الرفع مثل الرابد شير ومن ثم ضع رابط التحميل فى المنتدى

http://rapidshare.com/files/404312551/matlab.mat.html

هذا الرابط للفايل أخي أحمد جزاك الله خيرا وعلى كل الأعضاء التفاعل مع الموضوع

>> bajodes
??? Undefined function or variable 'bajodes'.

أخى العزيز هذا المتغير غير موجود فى الملف الذى ارفقته نرجو التأكد أولا قبل السؤال لعدم أضاعة وقت من يحاول ان يساعدك

هذا المتغير bajodesتقدر تطلعه من قائمةeditor ملفbajom جاهزة المعادلات أضغط الزر الأخضر change directoryفقط وتطلع النتجية أخي أحمد والمشاركين الأخرين وجزاك الله خيراً أخي وعزيزي أحمد

أخى العزيز ما أرسله فقط هو الملف matlab.mat ولا يحتوى على ما ذكرته
من فضلك نرجو التوضيح

http://rapidshare.com/files/404455551/bajom.m.html
أخي أحمد لقد أعتقدت أن التحميل أخذ معه صفحةeditorولكن شكرا وجزاك الله خيراً هذا رابط المتغير وهو جاهز فقط أضغط على السهم الأخضر

أخى العزيز اتمنى انك تتأكد من كل شيىء قبل ارسال الموضوع حتى لا تسبب فى ازعاج واضاعة وقت من يقوم بمساعدتك وهذا ما حدث بالفعل كل مرة أحاول تنفيذ البرامج اكتشف انه هناك شيىء ناقص وانت لم ترسله اعتقد انك لو أرسلت كل شيىء من البداية كانت الأومور أسهل من ذلك.

وبالنسبة للأمر mean فانه يقوم بحساب المتوسط لكل عمود واذا كانت حساب المتوسط لكل صف قم بعمل transpose للمتغير

أخي وعزيزي أحمد لقد أرسلت لكم كل التطبيق كامل من بداية أول مشاركة وهذا تابع للموضوع وأمشي حسب طلب المشرف كل يوم يطلع لي مشكلة لذلك تحملوني شوي كوني مبتدئي في هذا الموضوع وأستخدام نظام ماتلاب

انت لم ترسل التطبيق كامل
اولا أرسلت كود وبعدها أرسلت كود أخر وقلت الكود الأول خطأ
وبعدها أرسلت ملف البيانات حيث لم تضعه فى البداية
ثم بعد ذلك أرسلت ام فايل أخر
يعنى وضعت موضوعك على أربعة مراحل وكل مرة أحاول ان اشوفك المشكلة ألافى ان فى شيىء ناقص

جزاك الله خيراً أخي أحمد أولاً :تطبقت الذي قلت لي transpose ولكن الصف الأول يطلع لي له وسط وهو رقم للدلالة على الشركات كيف أتجنب الصف الأول هذا.ثانياً هذه الفايلات حسب الترتيب من التطبيق الأول إلى الرابع الأخير أرشدني أين الخطأ أخي وعزيزي أحمد جزا لله خيراً

http://rapidshare.com/files/404765306/identificarcarteras_2.m

http://rapidshare.com/files/404766576/bajom.m

http://rapidshare.com/files/404766996/rentabili.m

http://rapidshare.com/files/404767116/regression2.m

أخي وعزيزي أحمد الtranspose يعكس الأعمدة لصفوف وكذلك الأمر بالنسبة للصفوف تتحول إلى أعمدة
هذا الكود شبه مقبول التالي ولكنه مازال يعمل لي متوسط لأرقام الشركات لذلك أشك في صحته

 [FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2]
xx= mean( bajodes(2:101) );
y=xx.*bajodes;
[/size][/font][/size][/font]

طبق الأمر الاتى

xx= mean( bajodes(2:101)' );

أخي وعزيزي أحمد هي نفس النتجية سواء بالكود السابق أم الحالي ولكن المشكلة في ضرب المتوسط في عائد الأسهم اليومية تقربياً صح ولكن أيضاً يتم ضرب الصف الأول وهو ليس عوائد بل رقم الشركة كيف أستثني الصف الأول من الضرب بيحث أبدأ من الصف 2الى غاية 101جزاك الله خيراً وشكراً على التفاعل مع الموضوع البحثي وهذه جميع الأكواد المستخدمة

[FONT=Courier New][SIZE=2]
[SIZE=2][FONT=Courier New]i=1;[/font][/size]
[SIZE=2][FONT=Courier New]xx= mean( bajodes(2:101)' );[/font][/size]
[SIZE=2][FONT=Courier New]xx1=xx.*bajodes;[/font][/size]
[SIZE=2][FONT=Courier New]y=bajodes;[/font][/size]
[SIZE=2][FONT=Courier New][r,c]=size(xx1);[/font][/size]
[SIZE=2][FONT=Courier New][w,u]=size(y);[/font][/size]
[SIZE=2][FONT=Courier New]regstats(y,xx1,[/font][/size][/size][/font][FONT=Courier New][SIZE=2][COLOR=#a020f0][FONT=Courier New][SIZE=2][COLOR=#a020f0][FONT=Courier New][SIZE=2][COLOR=#a020f0]'linear'[/color][/size][/font][/color][/size][/font][/color][/size][/font][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2]);[/size][/font]
[SIZE=2][FONT=Courier New]stats = regstats([/font][/size][/size][/font][FONT=Courier New][SIZE=2][COLOR=#a020f0][FONT=Courier New][SIZE=2][COLOR=#a020f0][FONT=Courier New][SIZE=2][COLOR=#a020f0]'beta'[/color][/size][/font][/color][/size][/font][/color][/size][/font][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2],[/size][/font][/size][/font][FONT=Courier New][SIZE=2][COLOR=#a020f0][FONT=Courier New][SIZE=2][COLOR=#a020f0][FONT=Courier New][SIZE=2][COLOR=#a020f0]'adjrsquare'[/color][/size][/font][/color][/size][/font][/color][/size][/font][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2]);[/size][/font]
[SIZE=2][FONT=Courier New]whichstats = {[/font][/size][/size][/font][FONT=Courier New][SIZE=2][COLOR=#a020f0][FONT=Courier New][SIZE=2][COLOR=#a020f0][FONT=Courier New][SIZE=2][COLOR=#a020f0]'yhat'[/color][/size][/font][/color][/size][/font][/color][/size][/font][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2],[/size][/font][/size][/font][FONT=Courier New][SIZE=2][COLOR=#a020f0][FONT=Courier New][SIZE=2][COLOR=#a020f0][FONT=Courier New][SIZE=2][COLOR=#a020f0]'r'[/color][/size][/font][/color][/size][/font][/color][/size][/font][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2]}; [/size][/font]
[SIZE=2][FONT=Courier New]stats = regstats(y,xx1,[/font][/size][/size][/font][FONT=Courier New][SIZE=2][COLOR=#a020f0][FONT=Courier New][SIZE=2][COLOR=#a020f0][FONT=Courier New][SIZE=2][COLOR=#a020f0]'linear'[/color][/size][/font][/color][/size][/font][/color][/size][/font][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2],whichstats)[/size][/font]
[SIZE=2][FONT=Courier New]yhat = stats.yhat;[/font][/size]
[SIZE=2][FONT=Courier New]r = stats.r[/font][/size]
[/size][/font]

الإجابة يعني في خطأ

??? Error using ==> regstats at 113
RESPONSES must have a single column.
Error in ==> regression2 at 16
    regstats(y,xx1,'linear');

هذا المتوسط