نکته های کلیدی در آب و هواشناسی سینوپتیک
خدایا! کمکم کن؛ پیمانی را که در طوفان با تو بستم در آرامش فراموش نکنم
درباره وبلاگ


خدایا !
از این ناراحتم كه روزی بسیاری از درهای علوم را بر روی خود بگشاییم و هنوز شناختمان از تو تنها در همین حد باشد.


مدیر وبلاگ : mehdi doostkamian
مطالب اخیر
نویسندگان
نظرسنجی
مطالبی را که در وب گذاشته می شود چگونه ارزیابی می کنید:؟







پیوندها
آمار وبلاگ
  • کل بازدید :
  • بازدید امروز :
  • بازدید دیروز :
  • بازدید این ماه :
  • بازدید ماه قبل :
  • تعداد نویسندگان :
  • تعداد کل پست ها :
  • آخرین بازدید :
  • آخرین بروز رسانی :





برای نمایش تصاویر گالری كلیك كنید


دریافت كد گالری عكس در وب

Syntax

lambda = factoran(X,m)
[lambda,psi] = factoran(X,m)
[lambda,psi,T] = factoran(X,m)
[lambda,psi,T,stats] = factoran(X,m)
[lambda,psi,T,stats,F] = factoran(X,m)
[...] = factoran(...,param1,val1,param2,val2,...)

Definitions

factoran computes the maximum likelihood estimate (MLE) of the factor loadings matrix Λ in the factor analysis model

where x is a vector of observed variables, μ is a constant vector of means, Λ is a constant d-by-m matrix of factor loadings, f is a vector of independent, standardized common factors, and e is a vector of independent specific factors. xμ, and e are of length d. f is of length m.

Alternatively, the factor analysis model can be specified as

whereis a d-by-d diagonal matrix of specific variances.

Description

lambda = factoran(X,m) returns the maximum likelihood estimate, lambda, of the factor loadings matrix, in a common factor analysis model with m common factors. X is an n-by-d matrix where each row is an observation of d variables. The (i,j)th element of the d-by-m matrix lambda is the coefficient, or loading, of the jth factor for the ith variable. By default, factoran calls the function rotatefactors to rotate the estimated factor loadings using the 'varimax' option.

[lambda,psi] = factoran(X,m) also returns maximum likelihood estimates of the specific variances as a column vector psi of length d.

[lambda,psi,T] = factoran(X,m) also returns the m-by-m factor loadings rotation matrix T.

[lambda,psi,T,stats] = factoran(X,m) also returns a structure stats containing information relating to the null hypothesis, H0, that the number of common factors is mstats includes the following fields:

FieldDescription
loglike

Maximized log-likelihood value

dfe

Error degrees of freedom = ((d-m)^2 - (d+m))/2

chisq

Approximate chi-squared statistic for the null hypothesis

p

Right-tail significance level for the null hypothesis

factoran does not compute the chisq and p fields unless dfe is positive and all the specific variance estimates in psi are positive (see Heywood Case below). If X is a covariance matrix, then you must also specify the 'nobs' parameter if you want factoran to compute the chisq and p fields.

[lambda,psi,T,stats,F] = factoran(X,m) also returns, in F, predictions of the common factors, known as factor scores. F is an n-by-m matrix where each row is a prediction of m common factors. If X is a covariance matrix, factoran cannot compute Ffactoran rotates F using the same criterion as for lambda.

[...] = factoran(...,param1,val1,param2,val2,...) enables you to specify optional parameter name/value pairs to control the model fit and the outputs. The following are the valid parameter/value pairs.

ParameterValue
'xtype'

Type of input in the matrix X'xtype' can be one of:

'data'

Raw data (default)

'covariance'

Positive definite covariance or correlation matrix

'scores'

Method for predicting factor scores. 'scores' is ignored if X is not raw data.

'wls' 
'Bartlett'

Synonyms for a weighted least-squares estimate that treats F as fixed (default)

'regression' 
'Thomson'

Synonyms for a minimum mean squared error prediction that is equivalent to a ridge regression

'start'

Starting point for the specific variances psi in the maximum likelihood optimization. Can be specified as:

'random'

Chooses d uniformly distributed values on the interval [0,1].

'Rsquared'

Chooses the starting vector as a scale factor times diag(inv(corrcoef(X))) (default). For examples, see Jöreskog [2].

Positive integer

Performs the given number of maximum likelihood fits, each initialized as with 'random'factoran returns the fit with the highest likelihood.

Matrix

Performs one maximum likelihood fit for each column of the specified matrix. The ith optimization is initialized with the values from the ith column. The matrix must have d rows.

'rotate'

Method used to rotate factor loadings and scores. 'rotate' can have the same values as the 'Method' parameter of rotatefactors. See the reference page for rotatefactors for a full description of the available methods.

 

'none'

Performs no rotation.

 

'equamax'

Special case of the orthomax rotation. Use the 'normalize''reltol', and 'maxit' parameters to control the details of the rotation.

 

'orthomax'

Orthogonal rotation that maximizes a criterion based on the variance of the loadings.

Use the 'coeff''normalize''reltol', and 'maxit' parameters to control the details of the rotation.

 

'parsimax'

Special case of the orthomax rotation (default). Use the 'normalize''reltol', and 'maxit' parameters to control the details of the rotation.

 

'pattern'

Performs either an oblique rotation (the default) or an orthogonal rotation to best match a specified pattern matrix. Use the 'type' parameter to choose the type of rotation. Use the 'target' parameter to specify the pattern matrix.

 

'procrustes'

Performs either an oblique (the default) or an orthogonal rotation to best match a specified target matrix in the least squares sense.

Use the 'type' parameter to choose the type of rotation. Use 'target' to specify the target matrix.

 

'promax'

Performs an oblique procrustes rotation to a target matrix determined by factoran as a function of an orthomax solution.

Use the 'power' parameter to specify the exponent for creating the target matrix. Because 'promax' uses'orthomax' internally, you can also specify the parameters that apply to 'orthomax'.

 

'quartimax'

Special case of the orthomax rotation (default). Use the 'normalize''reltol', and 'maxit' parameters to control the details of the rotation.

 

'varimax'

Special case of the orthomax rotation (default). Use the 'normalize''reltol', and 'maxit' parameters to control the details of the rotation.

 

Function

Function handle to rotation function of the form

[B,T] = 
myrotation(A,...)

where A is a d-by-m matrix of unrotated factor loadings, B is a d-by-m matrix of rotated loadings, and T is the corresponding m-by-m rotation matrix.

Use the factoran parameter 'userargs' to pass additional arguments to this rotation function. See User-Defined Rotation Function.

'coeff'

Coefficient, often denoted as γ, defining the specific 'orthomax' criterion. Must be from 0 to 1. The value 0 corresponds to quartimax, and 1corresponds to varimax. Default is 1.

'normalize'

Flag indicating whether the loading matrix should be row-normalized (1) or left unnormalized (0) for 'orthomax' or 'varimax' rotation. Default is 1.

'reltol'

Relative convergence tolerance for 'orthomax' or 'varimax' rotation. Default is sqrt(eps).

'maxit'

Iteration limit for 'orthomax' or 'varimax' rotation. Default is 250.

'target'

Target factor loading matrix for 'procrustes' rotation. Required for 'procrustes' rotation. No default value.

'type'

Type of 'procrustes' rotation. Can be 'oblique' (default) or 'orthogonal'.

'power'

Exponent for creating the target matrix in the 'promax' rotation. Must be ≥ 1. Default is 4.

'userargs'

Denotes the beginning of additional input values for a user-defined rotation function. factoran appends all subsequent values, in order and without processing, to the rotation function argument list, following the unrotated factor loadings matrix A. See User-Defined Rotation Function.

'nobs'

If X is a covariance or correlation matrix, indicates the number of observations that were used in its estimation. This allows calculation of significance for the null hypothesis even when the original data are not available. There is no default. 'nobs' is ignored if X is raw data.

'delta'

Lower bound for the specific variances psi during the maximum likelihood optimization. Default is 0.005.

'optimopts'

Structure that specifies control parameters for the iterative algorithm the function uses to compute maximum likelihood estimates. Create this structure with the function statset. Enter statset('factoran') to see the names and default values of the parameters that factoran accepts in the optionsstructure. See the reference page for statset for more information about these options.

Examples

expand all

Estimate and Plot Factor Loadings

Load the sample data.

load carbig

Define the variable matrix.

X = [Acceleration Displacement Horsepower MPG Weight];
X = X(all(~isnan(X),2),:);

Estimate the factor loadings using a minimum mean squared error prediction for a factor analysis with two common factors.

[Lambda,Psi,T,stats,F] = factoran(X,2,'scores','regression');
inv(T'*T);   % Estimated correlation matrix of F, == eye(2)
Lambda*Lambda' + diag(Psi); % Estimated correlation matrix
Lambda*inv(T);              % Unrotate the loadings
F*T';                       % Unrotate the factor scores

Create biplot of two factors.

biplot(Lambda,'LineWidth',2,'MarkerSize',20)

Estimate the factor loadings using the covariance (or correlation) matrix.

[Lambda,Psi,T] = factoran(cov(X),2,'xtype','cov')
% [Lambda,Psi,T] = factoran(corrcoef(X),2,'xtype','cov')
Lambda =

   -0.2432   -0.8500
    0.8773    0.3871
    0.7618    0.5930
   -0.7978   -0.2786
    0.9692    0.2129


Psi =

    0.2184
    0.0804
    0.0680
    0.2859
    0.0152


T =

    0.9476    0.3195
    0.3195   -0.9476

Although the estimates are the same, the use of a covariance matrix rather than raw data doesn't let you request scores or significance level.

Use promax rotation.

[Lambda,Psi,T,stats,F] = factoran(X,2,'rotate','promax',...
                                      'powerpm',4);
inv(T'*T)                            % Estimated correlation of F,
                                     % no longer eye(2)
Lambda*inv(T'*T)*Lambda'+diag(Psi)   % Estimated correlation of X
ans =

    1.0000   -0.6391
   -0.6391    1.0000


ans =

    1.0000   -0.5424   -0.6893    0.4309   -0.4167
   -0.5424    1.0000    0.8979   -0.8078    0.9328
   -0.6893    0.8979    1.0000   -0.7730    0.8647
    0.4309   -0.8078   -0.7730    1.0000   -0.8326
   -0.4167    0.9328    0.8647   -0.8326    1.0000

For example factor analysis 2  

Over the course of 100 weeks, the percent change in stock prices for ten companies has been recorded. Of the ten companies, the first four can be classified as primarily technology, the next three as financial, and last three as retail. It seems reasonable that the stock prices for companies that are in the same sector might vary together as economic conditions change. Factor Analysis can provide quantitative evidence that companies within each sector do experience similar week to-week changes in stock price.

First load the data, then call factoran and specify a model fit with three common factors. By default, factoran would compute rotated estimates of the loadings to try and make their interpretation simpler, but for the moment, specify an unrelated solution.

 load stockreturns

[Loadings,specificVar,T,stats] = factoran(stocks,3,'rotate','none');

 

The first two factoran return arguments are the estimated loadings and the estimated specific variances. Each row of the loadings matrix represents one of the ten stocks, and each column corresponds to a common factor. With unrotated estimates, interpretation of the factors in this fit is difficult because most of the stocks contain fairly large coefficients for two or more factors.

Loadings

Loadings =

       0.8885    0.2367   -0.2354

       0.7126    0.3862    0.0034

       0.3351    0.2784   -0.0211

       0.3088    0.1113   -0.1905

       0.6277   -0.6643    0.1478

       0.4726   -0.6383    0.0133

       0.1133   -0.5416    0.0322

       0.6403    0.1669    0.4960

       0.2363    0.5293    0.5770

       0.1105    0.1680    0.5524

From the estimated specific variances, we can see that the model indicates that a particular stock price varies quite a lot beyond the variation due to the Common factors.

specificVar

specificVar =

       0.0991

       0.3431

       0.8097

       0.8559

       0.1429

       0.3691

       0.6928

       0.3162

       0.3311

       0.6544

A specific variance of 1 would indicate that there is no common factor component in that variable, while a specific variance of 0 would indicate that the variable is entirely determined by common factors. These data seem to fall somewhere in between.

The p-value returned in the stats structure fails to reject the null hypothesis of three common factors, suggesting that this model provides a satisfactory explanation of the covariation in these data.

stats.p

ans =

       0.8144

To determine if fewer than three factors can provide an acceptable fit, you can try a model with two common factors. The p-value for this second fit is highly significant, and rejects the hypothesis of two factors, indicating that the simpler model is not sufficient to explain the pattern in these data.

 

[Loadings2, specificVar2, T2, stats2] = factoran (stocks, 2,'rotate','none');

stats2.p

ans =

      3.5610e-006

Factor Rotation

As the results above illustrate, the estimated loadings from an unrotated

Factor Analysis fit can have a complicated structure. The goal of factor rotation is to find a parameterization in which each variable has only a small number of large loadings, i.e., is affected by a small number of factors, preferably only one. This can often make it easier to interpret what the factors represent.  If you think of each row of the loadings matrix as coordinates of a point in M-dimensional space, then each factor corresponds to a coordinate axis. Factor rotation is equivalent to rotating those axes, and computing new loadings in the rotated coordinate system. There are various ways to do this. Some methods leave the axes orthogonal, while others are oblique methods that change the angles between them. For this example, rotate the estimated loadings by using the promax criterion, a common oblique method.

[LoadingsPM,specVarPM] = factoran (stocks,3,'rotate','promax');

LoadingsPM

LoadingsPM =

       0.9452    0.1214   -0.0617

       0.7064   -0.0178    0.2058

       0.3885   -0.0994    0.0975

       0.4162   -0.0148   -0.1298

       0.1021    0.9019    0.0768

       0.0873    0.7709   -0.0821

      -0.1616    0.5320   -0.0888

       0.2169    0.2844    0.6635

       0.0016   -0.1881    0.7849

      -0.2289    0.0636    0.6475

Promax rotation has created a simpler structure in the loadings, one in which most of the stocks have a large loading on only one factor. To see this more clearly, you can plot each stock using the factor loadings as coordinates. "Simple" structure in the loadings appears in this plot as stocks that fall along one of the factor axes. Because there are three factors, it's easier to see the loadings if you make a pair of two-dimensional plots

 

subplot(1,2,1);

plot(LoadingsPM(:,1),LoadingsPM(:,2),'b.');

text(LoadingsPM(:,1),LoadingsPM(:,2), num2str((1:10)'));

line([-1 1 NaN 0 0 NaN 0 0],[0 0 NaN -1 1 NaN 0 0],...

     'Color','black');

xlabel('Factor 1');

ylabel('Factor 2');

axis square;

subplot(1,2,2);

plot(LoadingsPM(:,1),LoadingsPM(:,3),'b.');

text(LoadingsPM(:,1),LoadingsPM(:,3), num2str((1:10)'));

line([-1 1 NaN 0 0 NaN 0 0],[0 0 NaN -1 1 NaN 0 0],...

     'Color', 'black');

xlabel('Factor 1');

ylabel('Factor 3');

axis square;





نوع مطلب :
برچسب ها :
لینک های مرتبط :

       نظرات
یکشنبه 19 بهمن 1393
mehdi doostkamian
یکشنبه 19 بهمن 1393 ساعت 21 و 50 دقیقه و 16 ثانیه
سلام وبلاگ خیلی خیلی زیبایی داری ولی واقعا حیفه که اینقد بازدید ونظرات وبلاگت پایین هست .شرکت ما میتونه با هر کلمه ای که دلت بخواد وبلاگتو به صفحه اول گوگل بیاره با این کار دیگه هر پستی که میزاری میاد صفحه اول گوگل اگه خواستی برای مشاوره وسفارش تماس بگیرید تا توضیحات رو به شما بدهیم. 09183387027 شلالوند و روزانه بازدیدات به بیش از1000هزار بازدیدکننده و 50نظر واسه همیشه داری .مطمعن باش پشیمون نمیشی ****یه چیز دیگه اگه خواستی از شر تبلیغات وحذف شدن وبلاگت و...خلاص بشی ما یه راه حل واست داریم اونم تبدیل وبلاگت به سایت شیک با بهترین کیفیت و طراحی اختصاصی هست که با کمترین هزینه میتونی صاحب سایت خودت بشی واز هزاران مزیتی که با مرور با اون آشنا میشی بهره ببری (ما یه دامین و هاست رایگان هم بهت هدیه میدیم) برای مشاوره و سفارش تماس بگیرید 09183387027 بهترین و شیک ترین قالب رو برای شما در نظر داریم. تحویل در24ساعت/منتظر تماس شما هستیم خدانگهدار
یکشنبه 19 بهمن 1393 ساعت 21 و 46 دقیقه و 04 ثانیه
از تصادف جان سالم به در برده بود و می گفت :
زندگی اش را مدیون ماشین گران قیمتش است ...
و خدا همچنان لبخند می زد ..

سلام
پیش من هم بیاین خوشحال میشم
یکشنبه 19 بهمن 1393 ساعت 21 و 38 دقیقه و 51 ثانیه
از تصادف جان سالم به در برده بود و می گفت :
زندگی اش را مدیون ماشین گران قیمتش است ...
و خدا همچنان لبخند می زد ..

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