CODE
#
Q. (a) Check whether the data follows multivariate normal or not. Use
the result
#
di = (xi − x) S −1 (xi − x) ∼ χ2 where xi ∼ Nd (μ, σ 2 )
and x and S is the mean and the standard
#
deviation. Identify if there is any outlier in the data. Use package
R.
mnormal
= function()
{
#######
--------- Lybraries ------------#####
library("MASS");
require(graphics);
data_set=read.table("m-ba4c9807.txt",header=TRUE);
BA=data_set[1];
ABT=data_set[2];
MOT=data_set[3];
GM=data_set[4];
BA=t(BA);
ABT=t(ABT);
MOT=t(MOT);
GM=t(GM);
#
4 figures arranged in 2 rows and 2 columns
#attach(mtcars)
#par(mfrow=c(2,2))
#
Graphical Assessment of Multivariate Normality
x
= as.matrix(data_set) # n x p numeric matrix
#print(x)
center
= colMeans(x) # centroid
n
= nrow(x);
p
= ncol(x);
cov
= cov(x);
d
= mahalanobis(x,center,cov) # distances
print(t(center))
print(n)
print(p)
print(t(cov))
print(d)
qqplot(qchisq(ppoints(n),
df=p), d, main="QQ Plot Assessing Multivariate Normality",
ylab="Mahalanobis D2")
abline(a=0,b=1)
}
#
Q no. (b) Find find out the correlation matrix. Make the graphical
representation.
#
Extra : Write a program of your own in SAS to calculate Spearman rank
correlation and
#
Kendal’s tau between BA and ABT data.
corr
= function()
{
#######
--------- Lybraries ------------#####
library("MASS");
require(graphics);
require(corrgram);
data_set=read.table("m-ba4c9807.txt",header=TRUE);
BA=data_set[1];
ABT=data_set[2];
MOT=data_set[3];
GM=data_set[4];
BA=t(BA);
ABT=t(ABT);
MOT=t(MOT);
GM=t(GM);
#
4 figures arranged in 2 rows and 2 columns
#attach(mtcars)
#par(mfrow=c(2,2),
pty="s")
#
Graphical Assessment of Multivariate Normality
x
= as.matrix(data_set) # n x p numeric matrix
#print(x)
corrp
= cor(x, y = NULL, use = "everything", method = "pearson"
);
corrk
= cor(x, y = NULL, use = "everything", method = "kendall"
);
corrs
= cor(x, y = NULL, use = "everything", method = "spearman"
);
#print(corrp);
#print(corrk);
#print(corrs);
#cor(x,
y = NULL, use = "everything", method = c("pearson",
"kendall", "spearman"))
#par(new=TRUE)
corrgram(corrp,
type='cor', order=TRUE, lower.panel=panel.shade,
upper.panel=panel.pie, text.panel=panel.txt, main=" Pearson: Car
Milage Data in PC2/PC1 Order");
corrgram(x,
type='data', order=TRUE, lower.panel=panel.ellipse,
upper.panel=panel.pts, text.panel=panel.txt, diag.panel=panel.minmax,
main="Pearson: Car Milage Data in PC2/PC1 Order");
corrgram(corrp,
type='cor', order=NULL, lower.panel=panel.shade, upper.panel=NULL,
text.panel=panel.txt, main="Pearson: Car Milage Data
(unsorted)");
corrgram(corrp,
type='cor', order="OLO", lower.panel=panel.shade,
upper.panel=panel.pie, text.panel=panel.txt, main="Pearson: Car
Milage Data in OLO Order");
corrgram(corrk,
type='cor', order=TRUE, lower.panel=panel.shade,
upper.panel=panel.pie, text.panel=panel.txt, main=" Kendall: Car
Milage Data in PC2/PC1 Order");
corrgram(x,
type='data', order=TRUE, lower.panel=panel.ellipse,
upper.panel=panel.pts, text.panel=panel.txt, diag.panel=panel.minmax,
main="Kendall: Car Milage Data in PC2/PC1 Order");
corrgram(corrk,
type='cor', order=NULL, lower.panel=panel.shade, upper.panel=NULL,
text.panel=panel.txt, main="Kendall: Car Milage Data
(unsorted)");
corrgram(corrk,
type='cor', order="OLO", lower.panel=panel.shade,
upper.panel=panel.pie, text.panel=panel.txt, main="Kendall: Car
Milage Data in OLO Order");
corrgram(corrs,
type='cor', order=TRUE, lower.panel=panel.shade,
upper.panel=panel.pie, text.panel=panel.txt, main=" Spearman:
Car Milage Data in PC2/PC1 Order");
corrgram(x,
type='data', order=TRUE, lower.panel=panel.ellipse,
upper.panel=panel.pts, text.panel=panel.txt, diag.panel=panel.minmax,
main="Spearman: Car Milage Data in PC2/PC1 Order");
corrgram(corrs,
type='cor', order=NULL, lower.panel=panel.shade, upper.panel=NULL,
text.panel=panel.txt, main="Spearman: Car Milage Data
(unsorted)");
corrgram(corrs,
type='cor', order="OLO", lower.panel=panel.shade,
upper.panel=panel.pie, text.panel=panel.txt, main="Spearman: Car
Milage Data in OLO Order");
#corrgram(corrp,
type='cor', order = "OLO", panel=panel.shade,
lower.panel=panel, upper.panel=panel, diag.panel=NULL,
text.panel=textPanel, label.pos=0.5, label.srt=0, cex.labels=NULL,
font.labels=1, row1attop=TRUE, dir="left", gap=0,
abs=FALSE)
}
#
Q no. (c) Make one sample t-tests separately to check whether there
is enough evidence for the
#
fact that mean of the marginals are zero. Use both R and SAS. Assume
tests are of size 5%.
ttest
= function()
{
#######
--------- Lybraries ------------#####
library("MASS");
require(graphics);
data_set=read.table("m-ba4c9807.txt",header=TRUE);
BA=data_set[1];
ABT=data_set[2];
MOT=data_set[3];
GM=data_set[4];
BA=t(BA);
ABT=t(ABT);
MOT=t(MOT);
GM=t(GM);
#
4 figures arranged in 2 rows and 2 columns
#attach(mtcars)
#par(mfrow=c(2,2))
#
Graphical Assessment of Multivariate Normality
x
= as.matrix(data_set) # n x p numeric matrix
#print(x)
BAt=t.test(BA,mu=0);
print(BAt);
ABTt=t.test(ABT,mu=0);
print(ABTt);
MOTt=t.test(MOT,mu=0);
print(MOTt);
GMt=t.test(GM,mu=0);
print(GMt);
}
**********************END*************************
No comments:
Post a Comment
Thank you