Anda di halaman 1dari 29

Analisis Komponen Utama/ Principal Component Analysis

(Teori)

Tujuannya mereduksi dimensi peubah yang saling berkorelasi menjadi peubah2 baru yang tidak
berkorelasi dengan tetap mempertahankan sebanyak mungkin keragaman data asalnya. (patokan
80%)
Misal ada 1000 variable, apa kelebihan n kekurangannya..??
1.
Terlalu rumit
2.
Segi interpretasi sulit
Sehingga perlu dilakukan reduksi data. Syaratnya harus ada korelasi kuat antar variable.
Langkah langkah AKU / PCA:
Pengujian hipotesis matriks korelasi melihat ada tidaknya korelasi yang erat antar
variable. dengan menggunakan uji bartlet:
H : =I (Selain diagonal utama=0, Artinya korelasi antar peubah 0)
H : I (Selain diagonal utama=0, Artinya korelasi yang erat antar peubah
0

UJi Barlett:

n = jumlah observasi; p = jumlah variable ; R= matrik korelasi (estimasi) ; = determinan


matrik korelasi
Tolak H0 jika
x
>x
Karena kita niatnya make AKU, yang kita harapkan Tolak H0. Artinya antar variable awal ada
korelasi sehingga tujuan reduksi/ penyusutan dimensi data menjadi tercapai.
1.
Mencari akar ciri dari matriks kovarian (S) atau basis korelasi (R). Jika satuan variable
sama pake kovarian, jika satuan berbeda pake korelasi.
2.
Mengurutkan akar ciri yang diperoleh dari terbesar ke terkecil ( 0)
2

hitung

tabel

3.

2...

Membuat peubah baru (komponen utama) yang merupakan kombinasi linear dari peubah
asalnya.

Membuat vector ciri yang dinormalisasi (dibuat orthonormal) dari masing2 akar ciri yang
bersesuaian
Y =e X=e x ++e x
Y =e X=e x ++e x
1

11

1p

21

2p


Y =e X=e x ++e x
*disini belum ada proses reduksi
Dimana, X=[x x ]
Sifat peubah baru: Tidak saling berkorelasi, dan berurutan dari ukuran kepentingannya. Y1
paling penting sampai Yp
p

p1

pp

1.

Melakukan proses reduksi KU yang terbentuk. Ada 3 cara :


Dengan proporsi keragaman (bagi akar ciri per total akar ciri)

1.
2.

Akar ciri >1

3.

Scree plot
Misal : proporsi keragaman

Y =e X=e x ++e x 76%


1

11

1p

Y =e X=e x ++e x 23%


2

21

2p

Y =e X=e x ++e x
p

p1

pp

Proporsi keragaman variable baru pertama belum cukup, sehingga ditambah dengan variable
baru kedua. Jadi banyaknya KU yang terbentuk adalah 2.
Akar ciri: Selama akar cirinya >1, itulah banyaknya KU.
Scree plot : dilihat landau curamnya dan besarnya akar ciri. (scree plot tu plot antara jumlah
variable dengan akar cirinya)
Melakukan penamaan pada KU yang digunakan setelah terjadi proses reduksi. Ada 2
cara:
1.
Korelasi antar KU dengan variable asalnya. Korelasi yang besar, tu yang mencirikan KU
2.
Dengan melihat penimbang (weighting)
Y1=e1X=e x ++e pxp penimbang tu e-nya. Penimbangnya yang paling besar. Kalo
penimbangnya beda2 tipis, berarti KU dicirikan oleh variable2 tsb.
11

5 functions to do Principal Components


Analysis in R
Posted on June 17, 2012

Principal Component Analysis (PCA) is a multivariate technique that allows us to


summarize the systematic patterns of variations in the data.
From a data analysis standpoint, PCA is used for studying one table of observations and
variables with the main idea of transforming the observed variables into a set of new
variables, the principal components, which are uncorrelated and explain the variation in
the data. For this reason, PCA allows to reduce a complex data set to a lower
dimension in order to reveal the structures or the dominant types of variations in both
the observations and the variables.

PCA in R
In R, there are several functions from different packages that allow us to perform PCA.
In this post Ill show you 5 different ways to do a PCA using the following functions (with
their corresponding packages in parentheses):

prcomp() (stats)

princomp() (stats)

PCA() (FactoMineR)

dudi.pca() (ade4)

acp() (amap)

Brief note: It is no coincidence that the three external packages ( "FactoMineR","ade4",


and "amap") have been developed by French data analysts, which have a long tradition
and preference for PCA and other related exploratory techniques.
No matter what function you decide to use, the typical PCA results should consist of a
set of eigenvalues, a table with the scores or Principal Components (PCs), and a table
of loadings (or correlations between variables and PCs). The eigenvalues provide
information of the variability in the data. The scores provide information about the
structure of the observations. The loadings (or correlations) allow you to get a sense of
the relationships between variables, as well as their associations with the extracted
PCs.

The Data
To make things easier, well use the dataset USArrests that already comes with R. Its a
data frame with 50 rows (USA states) and 4 columns containing information about
violent crime rates by US State. Since most of the times the variables are measured in
different scales, the PCA must be performed with standardized data (mean = 0,
variance = 1). The good news is that all of the functions that perform PCA come with
parameters to specify that the analysis must be applied on standardized data.

Option 1: using prcomp()


The function prcomp() comes with the default "stats" package, which means that you
dont have to install anything. It is perhaps the quickest way to do a PCA if you dont
want to install other packages.
# PCA with function prcomp
pca1 = prcomp(USArrests, scale. = TRUE)
# sqrt of eigenvalues
pca1$sdev
## [1] 1.5749 0.9949 0.5971 0.4164
# loadings
head(pca1$rotation)
##

PC1

PC2

PC3

PC4
0.64923

## Murder

-0.5359

0.4182 -0.3412

## Assault

-0.5832

0.1880 -0.2681 -0.74341

## UrbanPop -0.2782 -0.8728 -0.3780

0.13388

## Rape

0.08902

-0.5434 -0.1673

0.8178

# PCs (aka scores)


head(pca1$x)
##

PC1

PC2

PC3

PC4
0.15470

## Alabama

-0.9757

1.1220 -0.43980

## Alaska

-1.9305

1.0624

2.01950 -0.43418

## Arizona

-1.7454 -0.7385

0.05423 -0.82626

## Arkansas

0.1400

1.1085

0.11342 -0.18097

## California -2.4986 -1.5274

0.59254 -0.33856

## Colorado

1.08400

-1.4993 -0.9776

0.00145

Option 2: using princomp()


The function princomp() also comes with the default "stats" package, and it is very
similar to her cousin prcomp(). What I dont like of princomp() is that sometimes it wont
display all the values for the loadings, but this is a minor detail.
# PCA with function princomp
pca2 = princomp(USArrests, cor = TRUE)
# sqrt of eigenvalues
pca2$sdev
## Comp.1 Comp.2 Comp.3 Comp.4
## 1.5749 0.9949 0.5971 0.4164
# loadings
unclass(pca2$loadings)
##

Comp.1

Comp.2

Comp.3

Comp.4
0.64923

## Murder

-0.5359

0.4182 -0.3412

## Assault

-0.5832

0.1880 -0.2681 -0.74341

## UrbanPop -0.2782 -0.8728 -0.3780

0.13388

## Rape

0.08902

-0.5434 -0.1673

0.8178

# PCs (aka scores)


head(pca2$scores)
##

Comp.1

Comp.2

Comp.3

Comp.4
0.156267

## Alabama

-0.9856

1.1334 -0.44427

## Alaska

-1.9501

1.0732

2.04000 -0.438583

## Arizona

-1.7632 -0.7460

0.05478 -0.834653

## Arkansas

0.1414

1.1198

0.11457 -0.182811

## California -2.5240 -1.5429

0.59856 -0.341996

## Colorado

1.09501

-1.5146 -0.9876

0.001465

Option 3: using PCA()


A highly recommended option, especially if you want more detailed results and
assessing tools, is the PCA() function from the package "FactoMineR". It is by far the
best PCA function in R and it comes with a number of parameters that allow you to
tweak the analysis in a very nice way.
# PCA with function PCA
library(FactoMineR)
# apply PCA

pca3 = PCA(USArrests, graph = FALSE)


# matrix with eigenvalues
pca3$eig
##

eigenvalue percentage of variance cumulative percentage of variance

## comp 1

2.4802

62.006

62.01

## comp 2

0.9898

24.744

86.75

## comp 3

0.3566

8.914

95.66

## comp 4

0.1734

4.336

100.00

# correlations between variables and PCs


pca3$var$coord
##

Dim.1

Dim.2

Dim.3

Dim.4

## Murder

0.8440 -0.4160

0.2038

0.27037

## Assault

0.9184 -0.1870

0.1601 -0.30959

## UrbanPop 0.4381

0.8683

0.2257

0.05575

## Rape

0.1665 -0.4883

0.03707

0.8558

# PCs (aka scores)


head(pca3$ind$coord)
##

Dim.2

Dim.3

Dim.4

## Alabama

0.9856 -1.1334

0.44427

0.156267

## Alaska

1.9501 -1.0732 -2.04000 -0.438583

## Arizona

1.7632

## Arkansas

Dim.1

0.7460 -0.05478 -0.834653

-0.1414 -1.1198 -0.11457 -0.182811

## California

2.5240

1.5429 -0.59856 -0.341996

## Colorado

1.5146

0.9876 -1.09501

0.001465

Option 4: using dudi.pca()


Another option is to use the dudi.pca() function from the package "ade4"which has a
huge amount of other methods as well as some interesting graphics.
# PCA with function dudi.pca
library(ade4)
# apply PCA
pca4 = dudi.pca(USArrests, nf = 5, scannf = FALSE)
# eigenvalues
pca4$eig
## [1] 2.4802 0.9898 0.3566 0.1734

# loadings
pca4$c1
##

CS1

CS2

CS3

CS4
0.64923

## Murder

-0.5359

0.4182 -0.3412

## Assault

-0.5832

0.1880 -0.2681 -0.74341

## UrbanPop -0.2782 -0.8728 -0.3780

0.13388

## Rape

0.08902

-0.5434 -0.1673

0.8178

# correlations between variables and PCs


pca4$co
##

Comp1

Comp2

Comp3

Comp4
0.27037

## Murder

-0.8440

0.4160 -0.2038

## Assault

-0.9184

0.1870 -0.1601 -0.30959

## UrbanPop -0.4381 -0.8683 -0.2257

0.05575

## Rape

0.03707

-0.8558 -0.1665

0.4883

# PCs
head(pca4$li)
##

Axis1

Axis2

Axis3

Axis4
0.156267

## Alabama

-0.9856

1.1334 -0.44427

## Alaska

-1.9501

1.0732

2.04000 -0.438583

## Arizona

-1.7632 -0.7460

0.05478 -0.834653

## Arkansas

0.1414

1.1198

0.11457 -0.182811

## California -2.5240 -1.5429

0.59856 -0.341996

## Colorado

1.09501

-1.5146 -0.9876

0.001465

Option 5: using acp()


A fifth possibility is the acp() function from the package "amap".
# PCA with function acp
library(amap)
# apply PCA
pca5 = acp(USArrests)
# sqrt of eigenvalues
pca5$sdev
## Comp 1 Comp 2 Comp 3 Comp 4
## 1.5749 0.9949 0.5971 0.4164
# loadings
pca5$loadings

##

Comp 1

Comp 2

Comp 3

Comp 4

## Murder

0.5359

0.4182 -0.3412

0.64923

## Assault

0.5832

0.1880 -0.2681 -0.74341

## UrbanPop 0.2782 -0.8728 -0.3780

0.13388

## Rape

0.08902

0.5434 -0.1673

0.8178

# scores
head(pca5$scores)
##

Comp 1

Comp 2

Comp 3

Comp 4

## Alabama

0.9757

1.1220 -0.43980

0.15470

## Alaska

1.9305

1.0624

2.01950 -0.43418

## Arizona

1.7454 -0.7385

0.05423 -0.82626

## Arkansas

-0.1400

1.1085

0.11342 -0.18097

## California

2.4986 -1.5274

0.59254 -0.33856

## Colorado

1.4993 -0.9776

1.08400

0.00145

Of course these are not the only options to do a PCA, but Ill leave the other approaches
for another post.

PCA plots
Everybody uses PCA to visualize the data, and most of the discussed functions come
with their own plot functions. But you can also make use of the great graphical displays
of "ggplot2". Just to show you a couple of plots, lets take the basic results
from prcomp().

Plot of observations
# load ggplot2
library(ggplot2)
# create data frame with scores
scores = as.data.frame(pca1$x)
# plot of observations
ggplot(data = scores, aes(x = PC1, y = PC2, label = rownames(scores))) +
geom_hline(yintercept = 0, colour = "gray65") +
geom_vline(xintercept = 0, colour = "gray65") +
geom_text(colour = "tomato", alpha = 0.8, size = 4) +
ggtitle("PCA plot of USA States - Crime Rates")

Circle of correlations
# function to create a circle
circle <- function(center = c(0, 0), npoints = 100) {
r = 1
tt = seq(0, 2 * pi, length = npoints)
xx = center[1] + r * cos(tt)
yy = center[1] + r * sin(tt)
return(data.frame(x = xx, y = yy))
}
corcir = circle(c(0, 0), npoints = 100)
# create data frame with correlations between variables and PCs
correlations = as.data.frame(cor(USArrests, pca1$x))
# data frame with arrows coordinates
arrows = data.frame(x1 = c(0, 0, 0, 0), y1 = c(0, 0, 0, 0), x2 = correlations$PC1,
y2 = correlations$PC2)
# geom_path will do open circles
ggplot() + geom_path(data = corcir, aes(x = x, y = y), colour = "gray65") +
geom_segment(data = arrows, aes(x = x1, y = y1, xend = x2, yend = y2), colour =
"gray65") +

geom_text(data = correlations, aes(x = PC1, y = PC2, label =


rownames(correlations))) +
geom_hline(yintercept = 0, colour = "gray65") + geom_vline(xintercept = 0,
colour = "gray65") + xlim(-1.1, 1.1) + ylim(-1.1, 1.1) + labs(x = "pc1 aixs",
y = "pc2 axis") + ggtitle("Circle of correlations")

Published in categories how-to Tagged with principal


components analysis pca multivariate plot R
previous

next

See all posts


Gaston Sanchez. All contents under (CC) BY-NC-SA license, unless otherwise noted.
Did you find this site useful? If yes, consider helping me with my wishlist.

Principal Components and Factor Analysis


This section covers principal components and factor analysis. The later includes both exploratory and confirmatory methods.

Principal Components
The princomp( ) function produces an unrotated principal component analysis.
#
#

Pricipal
entering

Components

raw

data

from

fit

extracting

the
<-

summary(fit)

and
correlation

print

loadings(fit)
plot(fit,type="lines")

cor=TRUE)

variance

accounted
pc

#
#

for
loadings

scree
the

PCs
matrix

princomp(mydata,

fit$scores

Analysis

principal

plot
components

biplot(fit)

click to view
Use cor=FALSE to base the principal components on the covariance matrix. Use the covmat= option to enter a correlation or
covariance matrix directly. If entering a covariance matrix, include the optionn.obs=.
The principal( ) function in the psych package can be used to extract and rotate principal components.
#

Varimax

Rotated
retaining

Principal
5

Components
components

library(psych)
fit

<-

principal(mydata,

nfactors=5,

rotate="varimax")

fit # print results


mydata can be a raw data matrix or a covariance matrix. Pairwise deletion of missing data is used. rotate can "none", "varimax",
"quatimax", "promax", "oblimin", "simplimax", or "cluster" .

Exploratory Factor Analysis

The factanal( ) function produces maximum likelihood factor analysis.


#MaximumLikelihoodFactorAnalysis
#enteringrawdataandextracting3factors,
#withvarimaxrotation
fit<-factanal(mydata,3,rotation="varimax")print(fit,
#

plot

factor

load

digits=2,
1

cutoff=.3,
by

sort=TRUE)

factor

<-

plot(load,type="n")

fit$loadings[,1:2]

set

up

plot

text(load,labels=names(mydata),cex=.7) # add variable names

click to view
The rotation= options include "varimax", "promax", and "none". Add the option scores="regression" or "Bartlett" to produce factor
scores. Use the covmat= option to enter a correlation or covariance matrix directly. If entering a covariance matrix, include the
option n.obs=.
The factor.pa( ) function in the

psych package offers a number of factor analysis related functions, including principal axis

factoring.
#

Principal

Axis

Factor

Analysis

library(psych)
fit

<-

factor.pa(mydata,

nfactors=3,

rotation="varimax")

fit # print results


mydata can be a raw data matrix or a covariance matrix. Pairwise deletion of missing data is used. Rotation can be "varimax" or
"promax".

Determining the Number of Factors to Extract


A crucial decision in exploratory factor analysis is how many factors to extract. The nFactors package offer a suite of functions to
aid in this decision. Details on this methodology can be found in a

PowerPoint presentation by Raiche, Riopel, and

Blais. Of course, any factor solution must be interpretable to be useful.


#

Determine

library(nFactors)

Number

of

Factors

to

Extract

ev

<-

eigen(cor(mydata))

ap

<-

get

eigenvalues

parallel(subject=nrow(mydata),var=ncol(mydata),

rep=100,cent=.05)
nS

<-

nScree(x=ev$values,

aparallel=ap$eigen$qevpea)

plotnScree(nS)

click to view

Going Further
The FactoMineR package offers a large number of additional functions for exploratory factor analysis. This includes the use of
both quantitative and qualitative variables, as well as the inclusion of supplimentary variables and observations. Here is an
example of the types of graphs that you can create with this package.
#

PCA

Variable

Factor

library(FactoMineR)
result <- PCA(mydata) # graphs generated automatically

click to view
Thye

GPARotation package offers a wealth of rotation options beyond varimax and promax.

Map

Principal Component Analysis (PCA)

Introduction
Principal Component Analysis (PCA) is a powerful tool when you have many variables and you
want to look into things that these variables can explain. As the name of PCA suggests, PCA
finds the combination of your variables which explains the phenomena. In this sense, PCA is
useful when you want to reduce the number of the variables. One common scenario of PCA
is that you have n variables and you want to combine them and make them 3 or 4 variables
without losing much of the information that the original data have. More mathematically, PCA is
trying to find some linear projections of your data which preserve the information your data
have.
PCA is one of the methods you may want to try if you have lots of Likert data and try to
understand what these data tell you. Let's say we asked the participants four 7-scale Likert
questions about what they care about when choosing a new computer, and got the results like
this.
Particip Price Softwar Aesthetic Brand
ant
e
s
P1

P2

P3

P4

P5

P6

P7

P8

P9

P10

P11

Particip Price Softwar Aesthetic Brand


ant
e
s

P12

P13

P14

P15

P16

Price: A new computer is cheap to you (1: strongly disagree 7: strongly


agree),
Software: The OS on a new computer allows you to use software you want to
use (1: strongly disagree 7: strongly agree),
Aesthetics: The appearance of a new computer is appealing to you (1:
strongly disagree 7: strongly agree),
Brand: The brand of the OS on a new computer is appealing to you (1:
strongly disagree 7: strongly agree)

Now what you want to do is what combination of these four variables can explain the
phenomena you observed. I will explain this with the example R code.

R code example
Let's prepare the same data shown in the table above.
Price <- c(6,7,6,5,7,6,5,6,3,1,2,5,2,3,1,2) Software <c(5,3,4,7,7,4,7,5,5,3,6,7,4,5,6,3) Aesthetics <- c(3,2,4,1,5,2,2,4,6,7,6,7,5,6,5,7)
Brand <- c(4,2,5,3,5,3,1,4,7,5,7,6,6,5,5,7) data <- data.frame(Price, Software,
Aesthetics, Brand)

At this point, data looks pretty much the same as the table above. Now, we do PCA. In R, there
are two functions for PCA: prcomp() and princomp(). prcomp() uses a correlation coefficient
matrix, and princomp() uses a variance covariance matrix. But it seems that the results become
similar in many cases (which I haven't formally tested, so be careful), and the results gained from
princomp() have nice features, so here I use princomp().

pca <- princomp(data, cor=T) summary(pca, loadings=T)

And here is the result of the PCA.


Importance of components: Comp.1 Comp.2 Comp.3 Comp.4 Standard deviation
1.5589391 0.9804092 0.6816673 0.37925777 Proportion of Variance 0.6075727
0.2403006 0.1161676 0.03595911 Cumulative Proportion 0.6075727 0.8478733
0.9640409 1.00000000 Loadings: Comp.1 Comp.2 Comp.3 Comp.4 Price -0.523
0.848 Software -0.177 0.977 -0.120 Aesthetics 0.597 0.134 0.295 -0.734 Brand
0.583 0.167 0.423 0.674

I will explain how to interpret this result in the next section.

Interpretation of the results of PCA


Let's take a look at the table for loadings, which mean the coefficients for the new variables.
Comp.1Comp.2Comp.3Comp.4
Price

-0.523

0.848

Softwar -0.177
e

0.977

-0.120

Aestheti 0.597
cs

0.134

0.295

-0.734

Brand

0.167

0.423

0.674

0.583

From the second table (loadings), PCA found four new variables which can explain the same
information as the original four variables (Price, Software, Aesthetics, and Brand), which are
Comp.1 to Comp.4. And Comp.1 is calculated as follows:
Comp.1 = -0.523 * Price - 0.177 * Software + 0.597 * Aesthetics + 0.583 * Brand

Thus, PCA successfully found a new combination of the variables, which is good. The next thing
we want to know is how much each of new variables has a power to explain the information that
the original data have. For this, you need to look at Standard deviation, and Cumulative
Proportion (of Variance) in the result.

Comp.1Comp.2Comp.3Comp.4
Standard
deviation

1.56

0.98

0.68

0.38

Cumulative
Proportion

0.61

0.85

0.96

1.00

Standard deviation means the standard deviation of the new variables. PCA calculates the
combination of the variables such that new variables have a large standard deviation. Thus,
generally a larger standard deviation means a better variable. A heuristics is that we take all the
new variables whose standard deviations are roughly over 1.0 (so, we will take Comp.1 and
Comp.2).
Another way to determine how many new variables we want to take is to look at cumulative
proportion of variance. This means how much of the information that the original data have can
be described by the combination of the new variables. For instance, with only Comp.1, we can
describe 61% of the information the original data have. If we use Comp.1 and Comp2, we can
describe 85% of them. Generally, 80% is considered as the number of the percentage which
describes the data well. So, in this example, we can take Comp.1 and Comp.2, and ignore
Comp.3 and Comp.4.
In this manner, we can decrease the number of the variables (in this example, from 4 variables to
2 variables). Your next task is to understand what the new variable means in the context of your
data. As we have seen, the first new variable can be calculated as follows:
Comp.1 = -0.523 * Price - 0.177 * Software + 0.597 * Aesthetics + 0.583 * Brand

It is a very good idea to plot the data to see what this new variable means. You can use scores to
take the values of each variable modeled by PCA.
plot(pca$scores[,1]) barplot(pca$scores[,1])

With the graphs (sorry I was kinda lazy to upload the graph, but you can quickly generate it by
yourself), you can see Participant 1 - 8 get negative values, and the other participants get positive
values. It seems that this new variable indicates whether a user cares about Price and Software or
Aesthetics and Brand for her computer. So, we probably can name this variable as
Feature/Fashion index or something. There is no definitive answer for this part of PCA. You
need to go through your data and make sense what the new variables mean by yourself.

PCA and Logistic regression


Once you have done the analysis with PCA, you may want to look into whether the new variables can predict some
phenomena well. This is kinda like machine learning: Whether features can classify the data well. Let's say you have
asked the participants one more thing, which OSthey are using (Windows or Mac) in your survey, and the results are
like this.

Particip Price Softwar Aesthetic Brand OS


ant
e
s
P1

P2

P3

P4

P5

P6

P7

P8

P9

P10

P11

P12

P13

P14

P15

P16

Here what we are going to do is to see whether the new variables given by PCA can predict the OS people are
using. OS is 0 or 1 in our case, which means the dependent variable is binomial. Thus, we are going to do logistic
regression. I will skip the details of logistic regression here. If you are interested, the details of logistic regression are
available in a separate page.
First, we prepare the data about OS.

OS <- c(0,0,0,0,1,0,0,0,1,1,0,1,1,1,1,1)
Then, fit the first variable we found through PCA (i.e.. Comp.1) to a logistic function.

model <- glm(OS ~ pca$scores[,1], family=binomial) summary(model)


Now you get the logistic function model.

Call: glm(formula = OS ~ pca$scores[, 1], family = binomial) Deviance Residuals:


Min 1Q Median 3Q Max -2.19746 -0.44586 0.01932 0.60018 1.65268 Coefficients:
Estimate Std. Error z value Pr(>|z|) (Intercept) -0.08371 0.74216 -0.113 0.9102
pca$scores[, 1] 1.42973 0.62129 2.301 0.0214 * --- Signif. codes: 0 *** 0.001 **
0.01 * 0.05 . 0.1 1 (Dispersion parameter for binomial family taken to be 1) Null
deviance: 22.181 on 15 degrees of freedom Residual deviance: 12.033 on 14
degrees of freedom AIC: 16.033 Number of Fisher Scoring iterations: 5
Let's see how well this model predicts the kind of OS. You can use fitted() function to see the prediction.

fitted(model) 1 2 3 4 5 6 7 0.15173723 0.04159449 0.34968733 0.04406133


0.25520745 0.07808633 0.02649166 8 9 10 11 12 13 14 0.21744454 0.89433079
0.93612411 0.91057994 0.73428648 0.85190931 0.76285170 15 16 0.78149889
0.96410841
These values represent the probabilities of being 1. For example, we can expect 15% chance that Participant 1 is
using OS 1 based on the variable derived by PCA. Thus, in this case, Participant 1 is more likely to be using OS 0,
which agrees with the survey response. In this way, PCA can be used with regression models for calculating the
probability of a phenomenon or making a prediction.

Factor Analysis

Introduction
Factor Analysis is another powerful tool to understand what your data mean particularly when
you have many variables. What Factor Analysis does is to try to find hidden variables which
explain the behavior of your observed variables. Our interests here also lie in reducing the
number of variables. So, we hope that we can find a smaller number of new variables which
explain your data well. In this sense, it sounds very similar toPCA. Although the outcome is very
similar in terms of reducing the number of variables, the approach to reduce the number of
variable is different. I will explain this in the next section.
If you are a little more knowledgeable, you may have heard of the terms like Exploratory Factor
Analysis (EFA) and Confirmatory Factor Analysis (CFA). EFA means that you don't really know
what hidden variables (or factors) exist and how many they are. So you are trying to find them.
CFA means that you already have some guesses or models for your hidden variables (or factors)
and you want to check whether your models are correct. In many cases, your Factor Analysis is
EFA, and I explain it in this page.
We are going to use a similar example in PCA. Let's say you have some data like this from your
survey about what is important when they decide which computer to buy.
Particip Price Softwar Aesthetic Brand Family Friend
ant
e
s
P1

P2

P3

P4

P5

P6

P7

P8

P9

Particip Price Softwar Aesthetic Brand Family Friend


ant
e
s
P10

P11

P12

P13

P14

P15

P16

Price: A new computer is cheap to you (1: strongly disagree 7: strongly


agree),
Software: The OS on a new computer allows you to use software you want to
use (1: strongly disagree 7: strongly agree),
Aesthetics: The appearance of a new computer is appealing to you (1:
strongly disagree 7: strongly agree),
Brand: The brand of the OS on a new computer is appealing to you (1:
strongly disagree 7: strongly agree),
Friend: Your friends' opinions are important to you (1: strongly disagree 7:
strongly agree),
Family: Your family's opinions are important to you (1: strongly disagree 7:
strongly agree).

For successfully doing Factor Analysis, we need more data than this example. If your want to
find n factors, you want to have roughly 3n - 4ndimensions of data, and 5n - 10n samples. And
Factor Analysis assumes the normality of the data, so it is not a great tool for ordinal data.
However, in practice, we can use Factor Analysis on ordinal data if the scale is 5 or more, and
data can be treated as interval data.
Through Factor Analysis, you want to find hidden variables (common factors) which may
explain the responses you gained. For looking at how to do Factor Analysis in R, I would like to
briefly explain the difference between PCA and FA.

Difference between Factor Analysis and PCA

The intuition of Principal Component Analysis is to find new combination of variables


which form larger variances. Why are larger variances important? This is a similar concept of
entropy in information theory. Let's say you have two variables. One of them (Var 1) forms N(1,
0.01) and the other (Var 2) forms N(1, 1). Which variable do you think has more information?
Var 1 is always pretty much 1 whereas Var 2 can take a wider range of values, like 0 or 2. Thus,
Var 2 has more chances to have various values than Var 1, which means Var 2's entropy is larger
than Var 1's. Thus, we can say Var 2 contains more information than Var 1.
Although the example above just looks at one variable at one time, PCA tries to find linear
combination of the variables which contain much information by looking at the variance.
This is why the standard deviation is one of the important metrics to determine the number of
new variables in PCA. Another interesting aspect of the new variables derived by PCA is that all
new variables are orthogonal. You can think that PCA is rotating and translating the data such
that the first axis contains the most information, and the second has the second most information,
and so forth.
The intuition of Factor Analysis is to find hidden variables which affect your observed
variables by looking at the correlation. If one variable is correlated with another variables, we
can say that these two variables are generated from one hidden variable, so we can explain the
phenomena with that one hidden variable instead of the two variable. Let's take a look at the
correlation matrix of the data we have (see the code example below to create the data frame)
before doing Factor Analysis.
cor(data)

And you get the correlation matrix.


Price Software Aesthetics Brand Friend Family Price 1.00000000 0.1856123
-0.63202219 -0.58026680 0.03082006 -0.06183118 Software 0.18561230
1.0000000 -0.14621516 -0.11858645 0.10096774 0.17657236 Aesthetics
-0.63202219 -0.1462152 1.00000000 0.85285436 0.03989799 -0.06977360 Brand
-0.58026680 -0.1185864 0.85285436 1.00000000 0.33316719 0.02662389 Friend
0.03082006 0.1009677 0.03989799 0.33316719 1.00000000 0.60727189 Family
-0.06183118 0.1765724 -0.06977360 0.02662389 0.60727189 1.00000000

So, it looks like that Price has strong negative correlations with Aesthetics and Brand, and Friend
has a strong correlation with Family. This means that we can expect that we will have two
common factors, and one will be related to Price, Aesthetics, and Brand, and the other will be
related to Friend and Family. Let's move on to Factor Analysis, and see what will happen.

R code example
In the following code example, I skipped some details, such as using varimax rotation or promax
rotation (R uses varimax rotation by default). If you want to know more details, I recommend
you to read other books or references for now. I may add these details later, but not sure
First, we prepare the data.
Price <- c(6,7,6,5,7,6,5,6,3,1,2,5,2,3,1,2) Software <c(5,3,4,7,7,4,7,5,5,3,6,7,4,5,6,3) Aesthetics <- c(3,2,4,1,5,2,2,4,6,7,6,7,5,6,5,7)
Brand <- c(4,2,5,3,5,3,1,4,7,5,7,6,6,5,5,7) Friend <c(7,2,5,6,2,4,1,7,3,2,6,7,6,2,4,5) Family <- c(6,3,4,7,1,5,4,5,4,4,5,7,2,3,5,6) data <data.frame(Price, Software, Aesthetics, Brand, Friend, Family)

Factor Analysis is easy to do in R. Let's do Factor Analysis assuming that the number of the
hidden variables is 1.
fa <- factanal(data, factor=1)

And you get the result.


Call: factanal(x = data, factors = 1) Uniquenesses: Price Software Aesthetics Brand
Friend Family 0.567 0.977 0.126 0.167 0.974 1.000 Loadings: Factor1 Price -0.658
Software -0.152 Aesthetics 0.935 Brand 0.912 Friend 0.161 Family Factor1 SS
loadings 2.190 Proportion Var 0.365 Test of the hypothesis that 1 factor is sufficient.
The chi square statistic is 12.79 on 9 degrees of freedom. The p-value is 0.172

Here, the factor analysis is doing a null hypothesis test in which the null hypothesis is that the
model described by the factor we have found predicts the data well. So, we have the chi-square
goodness-of-fit, which is 12.8, and the p value is 0.17. This means, we cannot reject the null
hypothesis, so the factor predicts the data well from the statistics perspective. This is why the
result says Test of the hypothesis that 1 factor is sufficient. Let's take a look at the Factor
Analysis with two factors.
fa <- factanal(data, factor=2) Call: factanal(x = data, factors = 2) Uniquenesses:
Price Software Aesthetics Brand Friend Family 0.559 0.960 0.126 0.080 0.005 0.609
Loadings: Factor1 Factor2 Price -0.657 Software -0.161 0.119 Aesthetics 0.933
Brand 0.928 0.242 Friend 0.100 0.992 Family 0.620 Factor1 Factor2 SS loadings
2.207 1.453 Proportion Var 0.368 0.242 Cumulative Var 0.368 0.610 Test of the
hypothesis that 2 factors are sufficient. The chi square statistic is 2.16 on 4 degrees
of freedom. The p-value is 0.706

The p value gets larger, and the Cumulative portion of variance becomes 0.61 (with one variable,
it is 0.37). So the model seems to be improved. Loadings shows the weights to calculate the
hidden variables from the observed variables.

But obviously, the model gets improved if you have more variables, which shows the trade-off
between the number of variables and the accuracy of the model. So, how should we decide how
many factors we should pick up? This is the topic for the next section.

How many factors should we use?


We found the two factors in the example, which are:
Factor Factor
1
2
Price

-0.657

Softwar -0.161
e

0.119

Aestheti 0.933
cs
Brand

0.928

0.242

Friend

0.100

0.992

Family

0.620

In the results of FA, some coefficients are missing, but this means these coefficients are just too
small, and not necessary equal to zero. You can see the all coefficients by doing
like fa$loadings[,1] with more precisions.
Although the goodness-of-fit tells you whether the current number of variables are sufficient or
not, it does not tell whether the number of variables are large enough for describing the
information that the original data have. For instance, why don't we try three factors instead of
one or two factors? There are a few ways to answer this question.

Comprehensibility

This means whether you can explain your new variables in a sensible way. For example, Factor 1
has large weight on Price, Aesthetics and Brand, which may indicate whether people want
practical aspects or fashionable aspects on their computers. Factor 2 has large weights on Friend
and Family, which seems to mean that people around users have some effects on the computer
purchase. Thus, both factors seem to have some meanings, and that's why we should keep them.
This is not really a mathematical way to determine the number of factors, but is a standard way
to do. Because we want to find factors which explain something, we can just ignore factors
which don't really make sense. This is probably intuitive, but I know you may argue that it is too
subjective. So, we have more mathematical ways to determine the number of factors.

Cumulative variance

Similar to PCA, you can look at the cumulative portion of variance, and if that reaches some
numbers, you can stop adding more factors. Deciding the threshold for the cumulative portion is
kind of heuristic. It can be 80% similar to PCA. If your focus is on reducing the number of
variables, it can be 50 - 60 %.

Kaiser criterion

The Kaiser rule is to discard components whose eigenvalues are below 1.0. This is also used in
SPSS. You can easily calculate the eigenvalues from the correlation matrix.
ev <- eigen(cor(data)) ev$values 2.45701130 1.68900056 0.89157047 0.60583326
0.27285334 0.08373107

So, we can determine that the number of factors should be 2. One problem of Kaiser rule is that
it often becomes too strict.

Scree plot
Another way to determine the number of factors is to use Scree plot. You plot the components on the X axis, and the
eigenvalues on the Y axis and connect them with lines. You then try to find the spot where the slope of the line
becomes less steep. So, how exactly should we find the spot like that? Again, it is kind of heuristic. In some cases
(particularly when the number of your original variables are small like the example above), you can't find a clear spot
like that (try to make a plot by using the following code). Nonetheless, it is good to know how to make a Scree plot.
The following procedure to make a Scree plot is based on this webpage. You also need nFactors package.

ev <- eigen(cor(data)) library(nFactors) ap <parallel(subject=nrow(data),var=ncol(data),rep=100,cent=0.05) nS <nScree(ev$values, ap$eigen$qevpea) plotnScree(nS)

eknik Pengambilan Sampel : Nonprobability Sampling Pengertian Nonprobability Sampling atau Definisi Nonprobability
Sampling adalah teknik pengambilan sampel yang tidak memberi peluang atau kesempatan sama bagi setiap unsur atau
anggota populasi untuk dipilih menjadi sampel. Teknik Sampling Nonprobality ini meliputi :Sampling Sistematis, Sampling Kuota,
Sampling Insidental, Purposive Sampling, Sampling Jenuh, Snowball Sampling. 1. Sampling Sistematis Pengertian Sampling
Sistematis atau Definisi Sampling Sistematis adalah teknik pengambilan sampel berdasarkan urutan dari anggota populasi yang
telah diberi nomor urut.Contoh Sampling Sistematis, anggota populasi yang terdiri dari 100 orang, dari semua semua anggota
populasi itu diberi nomor urut 1 sampai 100. Pengambilan sampel dapat dilakukan dengan mengambil nomor ganjil saja, genap
saja, atau kelipatan dari bilangan tertentu, misalnya kelipatan dari bilangan lima. Untuk itu maka yang diambil sebagai sampel
adalah nomor urut 1, 5, 10, 15, 20 dan seterusnya sampai 100. 2. Sampling Kuota Pengertian Sampling Kuota atau Definisi
Sampling Kuota adalah teknik untuk menentukan sampel dari populasi yang mempunyai ciri-ciri tertentu sampai jumlah kuota yang
diinginkan.Contoh Sampling Kuota, akan melakukan penelitian tentang Karies Gigi, jumlah sampel yang ditentukan 500 orang, jika
pengumpulan data belum memenuhi kuota 500 orang tersebut, maka penelitian dipandang belum selesai. Bila pengumpulan data
dilakukan secara kelompok yang terdiri atas 5 orang pengumpul data, maka setiap anggota kelompok harus dapat menghubungi
100 orang anggota sampel, atau 5 orang tersebut harus dapat mencari data dari 500 anggota sampel. 3. Sampling Insidental
Pengertian Sampling Insidental atau Definisi Sampling Insidental adalah teknik penentuan sampel berdasarkan kebetulan, yaitu
siapa saja yang secara kebetulan atau insidental bertemu dengan peneliti dapat digunakan sebagai sampel, bila dipandang orang
yang kebetulan ditemui itu cocok sebagai sumber data. 4. Purposive Sampling Pengertian Purposive Sampling atau Definisi
Purposive Sampling adalah teknik penentuan sampel dengan pertimbangan tertentu. Contoh Purposive Sampling, akan melakukan
penelitian tentang kualitas makanan, maka sampel sumber datanya adalah orang yang ahli makanan. Sampel ini lebih cocok
digunakan untuk Penelitian Kualitatif atau penelitian yang tidak melakukan generalisasi. 5. Sampling Jenuh (Sensus) Pengertian
Sampling Jenuh atau Definisi Sampling Jenuh adalah teknik penentuan sampel bila semua anggota populasi digunakan sebagai
sampel. Hal ini sering dilakukan bila jumlah populasi relatif kecil, kurang dari 30 orang, atau penelitian yang ingin membuat
generalisasi dengan kesalahan yang sangat kecil. 6. Snowball Sampling Pengertian Snowball Sampling atau Definisi Snowball
Sampling adalah teknik penentuan sampel yang mula-mula jumlahnya kecil, kemudian membesar. Ibarat bola salju yang
menggelinding yang lama-lama menjadi besar. Dalam penentuan sampel, pertama-tama dipilih satu atau dua orang sampel, tetapi
karena dengan dua orang sampel ini belum merasa lengkap terhadap data yang diberikan, maka peneliti mencari orang lain yang
dipandang lebih tahu dan dapat melengkapi data yang diberikan oleh dua orang sampel sebelumnya. Begitu seterusnya, sehingga
jumlah sampel semakin banyak. Pada penelitian kualitatif banyak menggunakan sampel Purposive dan Snowball. Contohnya akan
meneliti siapa provokasi kerusuhan, maka akan cocok menggunakan Purposive Sampling dan Snowball Sampling. Cara
Pengambilan Sampel dengan Probabilitas Sampling Ada empat macam teknik pengambilan sampel yang termasuk dalam teknik
pengambilan sampel dengan probabilitas sampling. Keempat teknik tersebut, yaitu cara acak, stratifikasi, klaster, dan sistematis. 1.
Sampling Acak Ada beberapa nama untuk menyebutkan teknik pemilihan sampling ini. Nama tersebut termasuk di antaranya:
random sampling atau teknik acak. Apa pun namanya teknik ini sangat populer dan banyak dianjurkan penggunaannya dalam
proses penelitian. Pada teknik acak ini, secara teoretis, semua anggota dalam populasi mempunyai probabilitas atau kesempatan
yang sama untuk dipilih menjadi sampel. Untuk mendapat responden yang hendak dijadikan sampel, satu hal penting yang harus
diketahui oleh para peneliti adalah bahwa perlunya bagi peneliti untuk mengetahui jumlah responden yang ada dalam populasi.
Teknik memilih secara acak dapat dilakukan baik dengan manual atau tradisional maupun dengan menggunakan tabel random. a.
Cara Tradisional Cara tradisional ini dapat dilihat dalam kumpulan ibu-ibu ketika arisan. Teknik acak ini dapat dilakukan dengan
langkah-langkah seperti berikut: tentukan jumlah populasi yang dapat ditemui; daftar semua anggota dalam populasi, masukkan
dalam kotak yang telah diberi lubang penarikan; kocok kotak tersebut dan keluarkan lewat lubang pengeluaran yang telah dibuat;
nomor anggota yang keluar adalah mereka yang ditunjuk sebagai sampel penelitian; lakukan terus sampai jumlah yang diinginkan
dapat dicapai. b. Menggunakan Tabel Acak Pada cara kedua ini, proses pemilihan subjek dilakukan dengan menggunakan tabel
yang dihasilkan oleh komputer dan telah diakui manfaatnya dalam teori penelitian. Tabel tersebut umumnya terdiri dari kolom dan
angka lima digit yang telah secara acak dihasilkan oleh komputer. Dengan menggunakan tabel tersebut, angka-angka yang ada
digunakan untuk memilih sampel dengan langkah sebagai berikut: identifikasi jumlah total populasi; tentukan jumlah sampel yang
diinginkan; daftar semua anggota yang masuk sebagai populasi; berikan semua anggota dengan nomor kode yang diminta,
misalnya: 000-299 untuk populasi yang berjumlah 300 orang, atau 00-99 untuk jumlah populasi 100 orang; pilih secara acak
(misalnya tutup mata) dengan menggunakan penunjuk pada angka yang ada dalam tabel; pada angka-angka yang terpilih, lihat
hanya angka digit yang tepat yang dipilih. Jika populasi 500 maka hanya 3 digit dari akhir saja. Jika populasi mempunyai anggota
90 maka hanya diperlukan dua digit dari akhir saja; jika angka dikaitkan dengan angka terpilih untuk individual dalam populasi
menjadi individu dalam sampel. Sebagai contoh, jika populasinya berjumlah 500, maka angka terpilih 375 masuk sebagai individu
sampel. Sebaliknya jika populasi hanya 300, maka angka terpilih 375 tidak termasuk sebagai individu sampel; gerakan penunjuk

dalam kolom atau angka lain; ulangi langkah nomor 8 sampai jumlah sampel yang diinginkan tercapai. Ketika jumlah sampel yang
diinginkan telah tercapai maka langkah selanjutnya adalah membagi dalam kelompok kontrol dan kelompok perlakuan sesuai
dengan bentuk desain penelitian. Contoh Memilih Sampel dengan Sampling Acak Seorang kepala sekolah ingin melakukan studi
terhadap para siswa yang ada di sekolah. Populasi siswa SMK ternyata jumlahnya 600 orang. Sampel yang diinginkan adalah 10%
dari populasi. Dia ingin menggunakan teknik acak, untuk mencapai hal itu, dia menggunakan langkah-langkah untuk memilih
sampel seperti berikut. Populasi yang jumlahnya 600 orang diidentifikasi. Sampel yang diinginkan 10% x 600 = 60 orang. Populasi
didaftar dengan diberikan kode dari 000-599. Tabel acak yang berisi angka random digunakan untuk memilih data dengan
menggerakkan data sepanjang kolom atau baris dari tabel. Misalnya diperoleh sederet angka seperti berikut: 058 710 859 942 634
278 708 899 Oleh karena jumlah populasi 600 orang maka dua angka terpilih menjadi sampel yaitu: 058 dan 278. Coba langkah d
sampai diperoleh semua jumlah 60 responden. 2. Teknik Stratifikasi Dalam penelitian pendidikan maupun penelitian sosial lainnya,
sering kali ditemui kondisi populasi yang ada terdiri dari beberapa lapisan atau kelompok individual dengan karakteristik berbeda. Di
sekolah, misalnya ada kelas satu, kelas dua, dan kelas tiga. Mereka juga dapat dibedakan menurut jenis kelamin responden
menjadi kelompok laki-laki dan kelompok perempuan. Di masyarakat, populasi dapat berupa kelompok masyarakat, misalnya
petani, pedagang, pegawai negeri, pegawai swasta, dan sebagainya. Keadaan populasi yang demikian akan tidak tepat dan tidak
terwakili; jika digunakan teknik acak. Karena hasilnya mungkin satu kelompok terlalu banyak yang terpilih sebagai sampel,
sebaliknya kelompok lain tidak terwakili karena tidak muncul dalam proses pemilihan. Teknik yang paling tepat dan mempunyai
akurasi tinggi adalah teknik sampling dengan cara stratifikasi. Teknik stratifikasi ini harus digunakan sejak awal, ketika peneliti
mengetahui bahwa kondisi populasi terdiri atas beberapa anggota yang memiliki stratifikasi atau lapisan yang berbeda antara satu
dengan lainnya. Ketepatan teknik stratifikasi juga lebih dapat ditingkatkan dengan menggunakan proporsional besar kecilnya
anggota lapisan dari populasi ditentukan oleh besar kecilnya jumlah anggota populasi dalam lapisan yang ada. Seperti halnya
teknik memilih sampel secara acak, teknik stratifikasi juga mempunyai langkah-langkah untuk menentukan sampel yang diinginkan.
Langkah-langkah tersebut dapat dilihat seperti berikut : Identifikasi jumlah total populasi. Tentukan jumlah sampel yang diinginkan.
Daftar semua anggota yang termasuk sebagai populasi. Pisahkan anggota populasi sesuai dengan karakteristik lapisan yang
dimiliki. Pilih sampel dengan menggunakan prinsip acak seperti yang telah dilakukan dalam teknik random di atas. Lakukan langkah
pemilihan pada setiap lapisan yang ada. Sampai jumlah sampel dapat dicapai. Contoh menentukan sampel dengan teknik
stratifikasi Seorang peneliti ingin melakukan studi dari suatu populasi guru SMK yang jumlahnya 900 orang, sampel yang diinginkan
adalah 10% dari populasi. Dalam anggota populasi ada tiga lapisan guru, mereka adalah yang mempunyai golongan dua, golongan
tiga, dan golongan empat. Dia ingin memilih sampel dengan menggunakan teknik stratifikasi. Terangkan langkah-langkah guna
mengambil sampel dengan menggunakan teknik stratifikasi tersebut. Jawabannya adalah sebagai berikut. Jumlah total populasi
adalah 900 orang. Daftar semua anggota yang termasuk sebagai populasi dengan nomor 000-899. Bagi populasi menjadi tiga lapis,
dengan setiap lapis terdiri 300 orang. Undilah sampel yang diinginkan 30% x 900 = 270 orang. Setiap lapis mempunyai anggota 90
orang. untuk lapisan pertama gerakan penunjuk (pensil) dalam tabel acak. Dan pilih dari angka tersebut dan ambil yang memiliki
nilai lebih kecil dari angka 899 sampai akhirnya diperoleh 90 subjek. Lakukan langkah 6 dan 7 untuk Iapis kedua dan ketiga sampai
total sampel diperoleh jumlah 270 orang. 3. Teknik Klaster Teknik klaster merupakan teknik memilih sampel lainnya dengan
menggunakan prinsip probabilitas. Teknik ini mempunyai sedikit perbedaan jika dibandingkan dengan kedua teknik yang telah
dibahas di atas. Teknik klaster atau Cluster Sampling ini memilih sampel bukan didasarkan pada individual, tetapi lebih didasarkan
pada kelompok, daerah, atau kelompok subjek yang secara alami berkumpul bersama. Teknik klaster sering digunakan oleh para
peneliti di lapangan yang wilayahnya mungkin luas. Dengan menggunakan teknik klaster ini, mereka lebih dapat menghemat biaya
dan tenaga dalam menemui responden yang menjadi subjek atau objek penelitian. Memilih sampel dengan menggunakan teknik
klaster ini mempunyai beberapa langkah seperti berikut. Identifikasi populasi yang hendak digunakan dalam studi. b. Tentukan
besar sampel yang diinginkan. Tentukan dasar logika untuk menentukan klaster. Perkirakan jumlah rata-rata subjek yang ada pada
setiap klaster. Daftar semua subjek dalam setiap klaster dengan membagi antara jurnlah sampel dengan jumlah klaster yang ada.
Secara random, pilih jumlah angggota sampel yang diinginkan untuk setiap klaster. Jumlah sampel adalah jumlah klaster dikalikan
jumlah anggota populasi per klaster. Contoh terapan pemilihan sampel dengan menggunakan teknik klasterMisalkan seorang
peneliti hendak melakukan studi pada populasi yang jumlahnya 4.000 guru dalam 100 sekolah yang ada. `Sampel yang diinginkan
adalah 400 orang. Cara yang digunakan adalah teknik sampel secara klaster dengan sekolah sebagai dasar penentuan logis klaster
yang ada. Bagaimanakah langkah menentukan sampel tersebut? Jawabannya adalah sebagai berikut. Total populasi adalah 4.000
orang. Jumlah sampel yang diinginkan 400 orang. Dasar logis klaster adalah sekolah yang jumlahnya ada 100. Dalam populasi,
setiap sekolah adalah 4.000/100 = 40 guru setiap sekolah. Jumlah klaster yang ada adalah 400/40 = 10. Oleh karena itu, 10
sekolah di antara 100 sekolah dipilih secara random. Jadi, semua guru yang ada dalam 10 sekolah sama dengan jumlah sampel
yang diinginkan. 4. Teknik Secara Sistematis Teknik memilih sampel yang keempat adalah teknik sistematis atau systematic
sampling. Teknik pemilihan ini menggunakan prinsip proporsional. Caranya ialah dengan menentukan pilihan sampel pada setiap
1/k, di mana k adalah suatu angka pembagi yang telah ditentukan misalnya 5,6 atau 10. Syarat yang perlu diperhatikan oleh para
peneliti adalah adanya daftar atau list semua anggota populasi. Untuk populasi yang didaftar atas dasar urutan abjad pemakaian
metode menggunakan teknik sistematis juga dapat diterapkan. Walaupun mungkin saja terjadi bahwa suatu nama seperti nama
yang berawalan su, sri dalam bahasa Indonesia akan terjadi pengumpulan nama dalam awalan tersebut. Sisternatis proporsional k
dapat memilih dengan baik. Teknik observasi lapangan khusus untuk penelitian di lokasi tambang Pengumpulan Data penelitian
Teknik ini dilakukan dengan cara melakukan pengamatan langsung di lapangan. Mengamati tidak hanya melihat, melainkan
merekam, menghitung, mengukur, dan mencatat kejadian yang ada di lapangan. Teknik ini ada dua macam, yaitu observasi
langsung (observasi partisipasi) yaitu apabila pengumpulan data melalui pengamatan dan pencatatan gejalagejala pada objek yang
dilakukan secara langsung di tempat kejadian, dan observasi tidak langsung (observasi non-partisipasi) yaitu pengumpulan data

melalui pengamatan dan pencatatan gejala-gejala pada objek tidak secara langsung di lapangan. Beberapa cara yang biasa
dilakukan dalam observasi adalah sebagai berikut: 1) Membuat catatan anekdot (anecdotal record), yaitu catatan informal yang
digunakan pada waktu melakukan observasi. Catatan ini berisi fenomena atau peristiwa yang terjadi saat observasi. 2) Membuat
daftar cek (checklist), yaitu daftar yang berisi catatan setiap faktor secara sistematis. Daftar cek ini biasanya dibuat sebelum
observasi dan sesuai dengan tujuan observasi. 3) Membuat skala penilaian (rating scale), yaitu skala yang digunakan untuk
menetapkan penilaian secara bertingkat untuk mengamati kondisi data secara kualitiatif. 4) Mencatat dengan menggunakan alat
(mechanical device), yaitu pencatatan yang dilakukan melalui pengamatan dengan menggunakan alat, misalnya slide, kamera,
komputer, dan alat perekam suara. Observasi tersebut dapat terbentang mulai dari kegiatan pengumpulan data yang formal hingga
yang tidak formal. Bukti observasi seringkali bermanfaat untuk memberikan informasi tambahan tentang topik yang akan diteliti.
Observasi dapat menambah dimensi-dimensi baru untuk pemahaman konteks maupun fenomena yang akan diteliti. Observasi
tersebut bisa begitu berharga sehingga peneliti bisa mengambil foto-foto pada situs studi kasus untuk menambah keabsahan
penelitian (Dabbs, 1996: 113).
Copy the BEST Traders and Make Money (One Click) : http://ow.ly/KNICZ