0% au considerat acest document util (0 voturi)
63 vizualizări21 pagini

Modelare in R

Documentul prezintă analiza unor date privind profitul și investițiile pentru mai multe firme, în mai mulți ani. Sunt estimate două modele cu efecte fixe și aleatoare pentru a testa ipoteza de diferență între efectele firmelor. Rezultatul testului nu respinge ipoteza că modelul cu efecte aleatoare este consistent.

Încărcat de

Ioana Dumitru
Drepturi de autor
© All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca DOCX, PDF, TXT sau citiți online pe Scribd
0% au considerat acest document util (0 voturi)
63 vizualizări21 pagini

Modelare in R

Documentul prezintă analiza unor date privind profitul și investițiile pentru mai multe firme, în mai mulți ani. Sunt estimate două modele cu efecte fixe și aleatoare pentru a testa ipoteza de diferență între efectele firmelor. Rezultatul testului nu respinge ipoteza că modelul cu efecte aleatoare este consistent.

Încărcat de

Ioana Dumitru
Drepturi de autor
© All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca DOCX, PDF, TXT sau citiți online pe Scribd

Am importat Rm si Ri pentru activ si piata in R Studio:

Putem vizualiza datele:

Analizam distributia calculand media, abaterea standard si densitatea pentru fiecare:


Reprezentam grafic distributia lui Ri :

Reprezentam grafic distributia lui Rm:


Am calculat Skewness si Kurtosis pentru cele 2 variabile:

Valoarile sunt negative => avem asimetrie la stanga

Kurtosis este mai mare de 3 pentru cele 2 variabile => Distributie leptocurtica.

Calculam P value:
Test de stationaritate:

Acf(Ri)
Acf(Rm):

Datele sunt stationare.

[Link]-ul ne informeaza ca P-value poate fi chiar mai mic:


[Link]-ul returneaza:
Estimam regresia:
Este pozitiv Coeficientul lui Rm => activul creste cu 1.2034430 atunci cand piata creste cu un punct.

Beta este semnificativ. R patrat este 0.5207

Obtinem intervalele de incredere:

Cu o probabilitate de 97.5% valorile se vor afla intre 0.001517972 si 1.346994497


Obtinem faptul ca riscul activului este justificat cu 0.0054 de piata.

Normalitatea erorilor:

 Erorile nu sunt repartizate normal (P value e extrem de mic). Prima ipoteza nu e respectata.

Verificarea autocorelatiei de ordin superior:

P value este mare => acceptam ipoteza care spune ca nu exista autocorelatie de ordin superior. Erorile
sunt independente.
Testul de homoscedasticitate:

P value e mare, repingem h0. Erorile au variatie constanta.

Testul de liniaritate:

P-value este neconcludent => incertitudine.

Modelul meu nu respecta modelul de Normalitate a erorilor sip e cel de liniaritate, acesta fiind
neconcludent.

Reprezentam grafic influentabilitatea:


Concluzie: Am analizat datele companiei Microsoft in comparatie cu piata S&P500, folosind date dintre:
. Analiza s-a facut utilizand modelul lui Sharpe. Am gasit ca se influenteaza, ca activul creste mai mult
atunci cand creste piata. Modelul meu nu respecta modelul de Normalitate a erorilor sip e cel de
liniaritate, acesta fiind neconcludent.
Regresie logistica:

Vom explica probabilitatea indivizilor de a-si dezvolta o afacere pentru tara Belgia, iar variabilele prin
care urmaresc sa explic probabilitatea de a deschide o afacere sunt: Sex, Varsta, Knowent, Suskill.

Avem un esantion de 3989 de respondent . Dintre care dupa ce am eliminate raspunsurile N/A, avem
datele urmatoare:
No Yes
2055 140

Incarcam in variabila oc datele pe 3 categorii astfel:

dim(be)

l<-levels(be$occu)

oc<-rep(0,dim(be)[1])

oc[which(be$occu==l[1]|be$occu==l[2]|be$occu==l[3])]<-1

oc[which(be$occu==l[4]|be$occu==l[6])]<-2

oc[which(be$occu==l[5]|be$occu==l[7]|be$occu==l[8])] <-3

table(oc)

oc
1 2 3
1326 340 529

#contopim variabila oc peste datele filtrate despre BE

be<-cbind(be,oc)
be$oc<-factor(oc)

[Link](be$oc)

Prima categorie este alcatuita din subiecti care sunt angajati full time.

A 2-a categorie studentii si cei in cautarea unui loc de munca.

A 3-a categorie pensionati + others.

Rulam functia glm pentru setul de date:

model<-glm(bstart~gender+age+oc+suskill+knowent,data=be, family="binomial")
summary(model)

Call:
glm(formula = bstart ~ gender + age + oc + suskill + knowent,
family = "binomial", data = be)

Deviance Residuals:
Min 1Q Median 3Q Max
-0.8660 -0.4262 -0.1977 -0.1457 3.1116

Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -3.711698 0.428622 -8.660 < 2e-16 ***
genderFemale -0.156809 0.193097 -0.812 0.416748
age -0.015071 0.008151 -1.849 0.064449 .
oc2 0.451487 0.255795 1.765 0.077558 .
oc3 0.087248 0.289490 0.301 0.763120
suskillYes 2.047393 0.253673 8.071 6.97e-16 ***
knowentYes 0.726707 0.191346 3.798 0.000146 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

Null deviance: 1041.52 on 2194 degrees of freedom


Residual deviance: 886.14 on 2188 degrees of freedom
AIC: 900.14

Number of Fisher Scoring iterations: 7

In functie de probabilitate, observam ca toate variabilele care sunt semnificative sunt:


Age, statutul occupational oc2, suskillYes, knowentYes
> exp(coef(model))
(Intercept) genderFemale age oc2 oc3 suskillYes
knowentYes
0.02443598 0.85486690 0.98504204 1.57064639 1.09116738 7.74767901
2.06825819

Probabilitatea ca persoanele de gen feminin sa-si deschida o afacere este mai mica cu ~15% comparativ
e cu grupa de baza (persoanele de sex masculin)

La inaintarea in varsta cu un an, scad sansele de a-si deschide o afacere cu ~1.5%.

Studentii si cei in cautarea unui loc de munca se comporta diferit fata de categoria de baza. Este mai pro
babil ca acestia sa-si deschida o afacere.

Cei pensionati si others nu se comporta asa de diferit fata de categoria de baza.

Cei care considera ca au skillurile necesare, au sanse cu aproape 774% mai mari fata de cei care nu consi
dera ca au skills.

Cei care stiu pe cineva care au o afacere, au sanse cu aproape 200% mai mari fata de cei care nu cunosc.

Curba ROC:
[Link]("ROCR")
library(ROCR)

yhat<-predict(model,type="response")
?prediction()
pr<-prediction(yhat,be$bstart,[Link] = NULL)

perf<-performance(pr,"tpr","fpr")
windows()
plot(perf)
Calculam aria de sub curba:
Slot "[Link]":
[[1]]
[1] 0.7914234 => clasificatorul pe care l-am construit este bun (valoarea est
e apropiata de 1).
Panel:

windows()
plotmeans(profit~firma) #reprezentarea unui interval de incredere de 95% pent
ru media profitului fiecarei firme
plotmeans(profit~an)
names(panel)<- c("an", "firma" ,"profit","inves")

ols<-lm(profit~inves,data=panel)
summary(ols)

Call:
lm(formula = profit ~ inves, data = panel)

Residuals:
Min 1Q Median 3Q Max
-711.0 -526.4 -118.8 455.0 908.4

Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 1562.3615 299.0954 5.224 5.74e-05 ***
inves 0.6273 1.0331 0.607 0.551
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 580.1 on 18 degrees of freedom


Multiple R-squared: 0.02007, Adjusted R-squared: -0.03437
F-statistic: 0.3687 on 1 and 18 DF, p-value: 0.5513

fixe<-lm(profit~inves+factor(firma)-1,data=panel)
summary(fixe)

Call:
lm(formula = profit ~ inves + factor(firma) - 1, data = panel)

Residuals:
Min 1Q Median 3Q Max
-130.160 -26.741 1.964 52.068 104.909

Coefficients:
Estimate Std. Error t value Pr(>|t|)
inves 3.6073 0.6539 5.516 7.60e-05 ***
factor(firma)1 157.3480 179.6299 0.876 0.396
factor(firma)2 1178.6011 173.2183 6.804 8.54e-06 ***
factor(firma)3 783.8614 76.8312 10.202 7.28e-08 ***
factor(firma)4 3.4773 313.5604 0.011 0.991
factor(firma)5 1801.7410 136.7017 13.180 2.78e-09 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 77.4 on 14 degrees of freedom


Multiple R-squared: 0.9987, Adjusted R-squared: 0.9982
F-statistic: 1827 on 6 and 14 DF, p-value: < 2.2e-16
yhat<-fixe$fitted
scatterplot(yhat~panel$inves|panel$firma)
abline(lm(panel$profit~panel$inves),lwd=3,col="red")

La modelul 1 s-a estimate dreapta rosie, la modelul 2 s-au estimate 5 drepte de regresie care difera prin
termenul liber. Diferenta dintr-o firma nu sta in panta regresiei ci in termenii liberi diferiti.
#Pentru testarea acestor ipoteze se estimeaza un model cu efecte fixe, unul c
u efecte aleatoare dupa care se compara folosind phtest()

> summary(aleatoare)
Oneway (individual) effect Random Effect Model
(Swamy-Arora's transformation)

Call:
plm(formula = profit ~ inves, data = panel, model = "random",
index = c("firma", "an"))

Balanced Panel: n=5, T=4, N=20

Effects:
var [Link] share
idiosyncratic 5991.2 77.4 0.012
individual 485462.1 696.8 0.988
theta: 0.9445

Residuals :
Min. 1st Qu. Median 3rd Qu. Max.
-133.0 -43.2 -12.2 49.1 128.0

Coefficients :
Estimate Std. Error t-value Pr(>|t|)
(Intercept) 835.47274 357.11456 2.3395 0.03104 *
inves 3.41381 0.64049 5.3300 4.571e-05 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Total Sum of Squares: 284400


Residual Sum of Squares: 110300
R-Squared: 0.61214
Adj. R-Squared: 0.55093
F-statistic: 28.4089 on 1 and 18 DF, p-value: 4.5709e-05

> summary(fixe)
Oneway (individual) effect Within Model

Call:
plm(formula = profit ~ inves, data = panel, model = "within",
index = c("firma", "an"))

Balanced Panel: n=5, T=4, N=20

Residuals :
Min. 1st Qu. Median 3rd Qu. Max.
-130.00 -26.70 1.96 52.10 105.00

Coefficients :
Estimate Std. Error t-value Pr(>|t|)
inves 3.60728 0.65391 5.5165 7.596e-05 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Total Sum of Squares: 266200


Residual Sum of Squares: 83877
R-Squared: 0.68491
Adj. R-Squared: 0.47944
F-statistic: 30.4315 on 1 and 14 DF, p-value: 7.596e-05

> aleatoare<-plm(profit~inves, data=panel, index=c("firma","an"),model="rando


m") #efecte aleatoare
> fixe<-plm(profit~inves, data=panel, index=c("firma","an"),model="within") #
efecte fixe
> phtest(fixe,aleatoare)

Hausman Test

data: profit ~ inves


chisq = 2.1548, df = 1, p-value = 0.1421
alternative hypothesis: one model is inconsistent

S-ar putea să vă placă și