#Код для диплома. Часть один
#
#
f <- read.csv("C:/Users/MSI/Desktop/Diploma/raw_data_v71.csv",header = TRUE, sep=";", quote="\"", encoding = "UTF-8");
names(f) <- c("FROM","TO", "MIGR", "TO_POP", "FROM_LAT", "FROM_LON", "TO_LAT","TO_LON" , "DISTANCE", "FR_OKTMO", "TO_OKTMO", "SAME_REG", "ADM2", "ADM1", "M2PRICE");
MigrMore5 <- f[f$MIGR >5, ];
citiesMore5 <- unique(MigrMore5$FROM) ;
citiesMore5 <- as.vector(citiesMore5);
for (i in 1:length(citiesMore5))
{
City <- MigrMore5[MigrMore5$FROM == citiesMore5[i], ];
lnMIGR <- log(City$MIGR);
lnDISTANCE <- log(City$DISTANCE);
lnPOP <- log(City$TO_POP);
lnPRICE <- log(City$M2PRICE);
#print(j);
#print(lnPRICE);
SAME_REG <- City$SAME_REG;
LinearModel <- lm(lnMIGR ~ lnDISTANCE + lnPOP + lnPRICE #]+SAME_REG );
coef<- LinearModel[[1]];
#print(i);
print(coef);
res <- LinearModel[[2]];
dimention<-dim(City);
#len <- dimention[2];
deep <-dimention[1];
if( any(is.na(coef[1:4])))
{
print(c(i, "GTFO! Grub a better city!"))
next;
}
else
{
prediction <- matrix(0, 1, deep);
for (j in 1:deep)
{
prediction[j] <- coef[1] + coef[2]*lnDISTANCE[j] + coef[3]*lnPOP[j] + coef[4]*lnPRICE[j] #+ coef[5]*SAME_REG[j];
}
adress<- paste0 ("C:\\Users\\MSI\\Desktop\\Diploma\\", i, ".png");
print(adress)
png(adress);
# print(i);
# print(lnMIGR);
# print(prediction);
plot(lnMIGR, prediction, xlab = "Real migration", ylab = "Predicted migration");
title(as.character(citiesMore5[i]));
abline(0,1);
for (j in 1:deep)
{
prediction[j] <- coef[1] + coef[2]*lnDISTANCE[j] + coef[3]*lnPOP[j] + coef[4]*lnPRICE[j] + res[j] #+ coef[5]*SAME_REG[j];
}
dev.off();
print(c(i, "passed"))
}
}
#
#
f <- read.csv("C:/Users/MSI/Desktop/Diploma/raw_data_v71.csv",header = TRUE, sep=";", quote="\"", encoding = "UTF-8");
names(f) <- c("FROM","TO", "MIGR", "TO_POP", "FROM_LAT", "FROM_LON", "TO_LAT","TO_LON" , "DISTANCE", "FR_OKTMO", "TO_OKTMO", "SAME_REG", "ADM2", "ADM1", "M2PRICE");
MigrMore5 <- f[f$MIGR >5, ];
citiesMore5 <- unique(MigrMore5$FROM) ;
citiesMore5 <- as.vector(citiesMore5);
for (i in 1:length(citiesMore5))
{
City <- MigrMore5[MigrMore5$FROM == citiesMore5[i], ];
lnMIGR <- log(City$MIGR);
lnDISTANCE <- log(City$DISTANCE);
lnPOP <- log(City$TO_POP);
lnPRICE <- log(City$M2PRICE);
#print(j);
#print(lnPRICE);
SAME_REG <- City$SAME_REG;
LinearModel <- lm(lnMIGR ~ lnDISTANCE + lnPOP + lnPRICE #]+SAME_REG );
coef<- LinearModel[[1]];
#print(i);
print(coef);
res <- LinearModel[[2]];
dimention<-dim(City);
#len <- dimention[2];
deep <-dimention[1];
if( any(is.na(coef[1:4])))
{
print(c(i, "GTFO! Grub a better city!"))
next;
}
else
{
prediction <- matrix(0, 1, deep);
for (j in 1:deep)
{
prediction[j] <- coef[1] + coef[2]*lnDISTANCE[j] + coef[3]*lnPOP[j] + coef[4]*lnPRICE[j] #+ coef[5]*SAME_REG[j];
}
adress<- paste0 ("C:\\Users\\MSI\\Desktop\\Diploma\\", i, ".png");
print(adress)
png(adress);
# print(i);
# print(lnMIGR);
# print(prediction);
plot(lnMIGR, prediction, xlab = "Real migration", ylab = "Predicted migration");
title(as.character(citiesMore5[i]));
abline(0,1);
for (j in 1:deep)
{
prediction[j] <- coef[1] + coef[2]*lnDISTANCE[j] + coef[3]*lnPOP[j] + coef[4]*lnPRICE[j] + res[j] #+ coef[5]*SAME_REG[j];
}
dev.off();
print(c(i, "passed"))
}
}

Комментариев нет:
Отправить комментарий