You are on page 1of 9

Individual Assingment -002

Factor Analysis of Hatco Dataset


of

Predictive analysis

2019-2021

Supervised to: Prof. Prashant Verma

Submitted By:
Name-Anita Kumari

Roll No- 19PGDM063


DATA STRUCTURE

There are 14 variables in Hatco datasets, out of which five of them are factor data,
and the rest are scale data.

Variable name label Data type Levels


X1 Delivery speed Scale
X2 Price level Scale
X3 Price flexibility Scale
X4 Manufacturer Scale
image
X5 Service Scale
X6 Salesforce image Scale
X7 Product quality Scale
X8 Firm size Factor 0 – small
1 - Large
X9 Usage level Scale
X10 Satisfaction level Scale
X11 Specification Factor 0 – use of
buying specification
buying
1 – employes total
value analysis
approach
X12 Structure of Factor 0 – decentralized
procurement procurement
1 – centralized
procurement
X13 Type of industry Factor 0 – other
industries
1 – industry A
X14 Type of buying Factor 1 – new task
situation 2 – modified
rebuy
3 – straight rebuy

NORMALIZATION OF VARIABLES
The first step to do factor analysis is get the Hatco data in R and eliminate the categorical data. If
the data is in wide ranges then it need to normalize by converting mean equal to 0 and standatd
deviation equal to 1. I have changed the variables name to easy understandable variables name.

R Codes

> library(haven)
>Hatco_data<- read_sav(file.choose())
>View(Hatco_data)
>colnames(Hatco_data)
>colnames(Hatco_data) <- c("ID","delivery_speed","price_level","Pric
e_flexibility","manufacturer_image","service","salesforce_image","Product
_quality","firm_size","usage_level","Satisfaction_level","specification_buyi
ng","Procurement_structure","Industry_type","Buying_situation")
>colnames(Hatco_data)
>Hatco_factor_data<- scale(Hatco_data)
>Hatco_factor_data<- Hatco_factor_data[,c(2:8)]
>View(Hatco_factor_data)
> library(psych)
>describe(Hatco_factor_data)
Results
FACTOR ANALYSIS
The next step is to perform a factor analysis. Try to get the maximum factor that we can extract from our
Hatco data. From the data, we are only able to extract three factors at max. We are getting an error for
high values, indicating that the no. of factors is too high for the no. of variables.

I have done the Barlett and KMO test because it suggests that factor analysis is applicable for the dataset.
The Overall MSA is 0.6, which means the data can be useful to our analysis. We can confidently proceed
with our further analysis. The values in the data are mediocre.

R code

>R.matrix<- cor(Hatco_factor_data)
>R.matrix<- round(cor(Hatco_factor_data),2)
>R.matrix
>cortest.bartlett(Hatco_factor_data)
>cortest.bartlett(R.matrix,n=100)
> KMO(Hatco_factor_data)
> KMO(Hatco_factor_data[,-5])
>normal.hatco.post.kmo<- Hatco_factor_data[,-5]
> fit.1 <- factanal(normal.hatco.post.kmo,5,scores = "regression", rotation =
"none")
> fit.2 <- factanal(normal.hatco.post.kmo,4,scores = "regression", rotation =
"none")
> fit.3 <- factanal(normal.hatco.post.kmo,3,scores = "regression", rotation =
"none")
>print(fit.3,digits = 2,cutoff=0.3,sort=TRUE)

Results
Interpretation

Analysis of commonalities: on analyzing the uniqueness, we can conclude that there is a large unique
factor for the price flexibility and product quality. It means this variable has smaller common factors.
However, the remaining variables have significantly large common factors, i.e., most of the variance can
be explained through the common factors.

Loading analysis: the three factors can explain 67% of the total variability. We can confirm that if this is
an optimum number by performing the Scree test. In factor 1, delivery speed and price flexibility have
large loading values that mean these two variables are very large correlated with factor 1. Similarly, the
manufacturer image and salesforce image are largely correlated

Scree plot
Interpretation

It is established that we should consider at max threecommon factors. However,the first two can explain
60% of the total variability than67% of the three factors. Hence as per the business requirement, the
decision can be taken between 2 or 3 factors.

FACTOR ANALYSIS WITH FA()


Rcode

> fit.4 <- fa(normal.hatco.post.kmo, nfactors = 2, n.iter = 100, rotate =


"varimax", scores = "regression")
> View(fit.4)
>print(fit.4,digits = 2, cutoff=0.3, sort = TRUE)
Results
Interpretation

This is the same method as we have done in Factenel(). Both produce the same result, but they display
different information and show the factors differently. Here MR1, MR2 are the two factors along with
several statistics. H2 is the commonality score- the sum of the squared factors loadings for each question.
U2 is the uniques score. Com is complexity, and information score is related to uniqueness. We can
interpret this result as similar to the above output of Factanel().

PERFORMING ROTATION
Now we perform rotation to get improved results.

Rcode

> fit.1.1 <- factanal(normal.hatco.post.kmo,3,scores = "regression",rotation =


"varimax")
>print(fit.1.1,digits = 2,cutoff=0.3,sort=TRUE)
Results

Interpretation

Here we can observe that proportion variance for factor changed significantly. It is still the
variables that have high common loading across the factors. These have been performed to get
improved results. Many variables come to in picture when rotation varimax has used. The
manufactured image and salesforce image clearly explains the factor1. Price level and product
quality explain factor 2. Delivery speed explains factor 3.

You might also like