Jul 072013
 

رگرسیون چند متغیره، یکی از متدهای آماری مقدماتی جهت پیش بینی روند متغییری وابسته به دو یا چند متغیر مستقل است.

از این روش میتوان برای تصمیم گیری در مورد خرید های پروژه استفاده های زیادی کرد. به عنوان مثال میتوان عادلانه بودن قیمت پیشنهادی برای یکی از ماشین آلات دست دوم را مورد بررسی قرار داد.

به این صورت که قیمت را در دوره های گذشته برای ماشین های مشابه با متغیرهای متفاوت، ( مثلاً مدت کارکرد و مدل ماشین ) مورد بررسی قرار داده و تابع قیمت را بر اساس فاکتورهای مدت کارکرد و مدل تخمین زد.

میزان انحراف قیمت پیشنهادی از قیمت تخمین زده شده توسط تکنیک رگرسیون خطی چند متغیره میتواند شاخص مناسبی در تصمیم گیری جهت خرید باشد.

 

رگرسیون درmatlab به صورت های زیر تعریف شده است.

 

xreglinear/regression

 REGRESSION returns the regression matrix for the model m

 [r,ok]=regression(m)

function [r,ok]=regression(m)

%REGRESSION returns the regression matrix for the model m

%

% [r,ok]=regression(m)

 %  Copyright 2000-2007 The MathWorks, Inc. and Ford Global Technologies, Inc.

%   $Revision: 1.2.2.3 $  $Date: 2007/06/18 22:38:40 $

if ~isfield(m.Store,’Q’)

   error(‘mbc:xreglinear:InvalidState’,…

       ‘Use InitStore first to initialize data in model’);

end

 r=m.Store.X;

if ~isempty(r)

   r=r(:,terms2(m));

end

if nargout>1

   % rank check on regression matrix

   ok=~(rank(r)

end

 localsurface/regression

  r=REGRESSION(m) returns the regression matrix for the model m

function [r,ok]=regression(m)

% r=REGRESSION(m) returns the regression matrix for the model m

 %  Copyright 2000-2004 The MathWorks, Inc. and Ford Global Technologies, Inc.

  %   $Revision: 1.2.2.2 $  $Date: 2004/02/09 07:42:28 $

 [r,ok]=regression(m.userdefined);

 لازم به ذکر است که تابع رگرسیون به صورت doubleکار میکند وبصورت زیر فراخوانی میشود.

R =regression(m)

اما ما میتوانیم تابع مورد نظرمان را با انتخاب گزینه ی file>>new>>…..و هر یک از گزینه های new، تعریف کنیم.

 برای استفاده از تابع Ridge :

X = [x1 x2 x3];

D = x2fx(X,’interaction’);

D(:,1) = []; % No constant term

k = 0:1e-5:5e-3;

b = ridge(y,D,k);

Plot the ridge trace:

figure

plot(k,b,’LineWidth’,2)

ylim([-100 100])

grid on

xlabel(‘Ridge Parameter’)

ylabel(‘Standardized Coefficient’)

title(‘{\bf Ridge Trace}’)

legend(‘x1′,’x2′,’x3′,’x1x2′,’x1x3′,’x2x3’)

matlab-ridge

———————————————-

مثالی از رگرسیون ریج

Example of a matlab ridge regression function:

 

function bks=ridge(Z,Y,kvalues)

% Ridge Function of Z (centered, explanatory)

% Y is the response,

es where to compute
[n,p]=size(Z);
ZpY=Z’

% kvalues are the val

u*Y;

ZpZ=Z’*Z;

m=length(kvalues);

bks=ones(p,m);

for k =1:m

.۵)
kvalues =
Columns 1 through 7

bks(:,k)=(ZpZ+diag(kvalues(k)))\ZpY;

end

values=(0:.05

>> 
k

: ۰ ۰٫۰۵۰۰ ۰٫۱۰۰۰ ۰٫۱۵۰۰ ۰٫۲۰۰۰ ۰٫۲۵۰۰ ۰٫۳۰۰۰

  Columns 8 through 11

۱٫۵۵۱۱ ۱٫۵۱۷۶ ۱٫۴۸۸۲ ۱٫۴۶۲۲

    ۰٫۳۵۰۰    ۰٫۴۰۰۰    ۰٫۴۵۰۰    ۰٫۵۰۰۰
>> ridge(Z,Y,(0:.05:.5))
ans =
  Columns 1 through 7 

    ۱٫۴۳۹۰    ۱٫۴۱۸۳    ۱٫۳۹۹۶
    ۰٫۵۱۰۲    ۰٫۴۷۷۵    ۰٫۴۴۸۸    ۰٫۴۲۳۴    ۰٫۴۰۰۹    ۰٫۳۸۰۶    ۰٫۳۶۲۴

-۰٫۲۲۹۲ -۰٫۲۵۱۴ -۰٫۲۷۱۳ -۰٫۲۸۹۲
Columns 8 through 11
۱٫

    ۰٫۱۰۱۹    ۰٫۰۶۷۸    ۰٫۰۳۷۸    ۰٫۰۱۱۳   -۰٫۰۱۲۲   -۰٫۰۳۳۴   -۰٫۰۵۲۴
   -۰٫۱۴۴۱   -۰٫۱۷۶۲   -۰٫۲۰۴۳
 ۳۸۲۷    ۱٫۳۶۷۳    ۱٫۳۵۳۲    ۱٫۳۴۰۳
    ۰٫۳۴۵۹    ۰٫۳۳۰۹    ۰٫۳۱۷۲    ۰٫۳۰۴۶
   -۰٫۰۶۹۶   -۰٫۰۸۵۳   -۰٫۰۹۹۷   -۰٫۱۱۲۸
   -۰٫۳۰۵۴   -۰٫۳۲۰۱   -۰٫۳۳۳۶   -۰٫۳۴۶۰

۲٫۶۹۷۳
>> k=(4*5.9829)/2.6973

%Formula gives for choice of k:
>> norm(Yhat-Yc)^2
ans =
   ۴۷٫۸۶۳۶
>> 47.8636/(13-5)
ans =
    ۵٫۹۸۲۹   % estimates the variance sigma^2
>> bk0'*bk0
ans =
  
 k =

.۸۷۲۴ % This is a suggested value for k

    
۸

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)


8 − seven =

با کلیک روی آگهی زیر مبلغ 400 ریال به حساب من واریز می گردد

با کلیک روی آگهی زیر مبلغ 1000 ریال به حساب من واریز می گردد