iaiai_data <- read.xlsx("/Users/sushi/Downloads/IAIAI-Sakshi/IAIAI_Dashboard/data/AuraArtData_2010q1_onwards.xlsx")
iaiai_data <- iaiai_data %>%
mutate(
Price = as.numeric(Price),
Area = as.numeric(Area),
ArtistAge = as.numeric(ArtistAge),
YQ = as.factor(YQ),
Artist = as.factor(Artist),
AuctionHouse = as.factor(AuctionHouse),
Sketch = as.factor(Sketch),
TitledBy = as.factor(TitledBy),
Medium = as.factor(Medium),
Base = as.factor(Base)
)
Boxplots for numeric variables to visually inspect for outliers
numeric_vars <- sapply(iaiai_data, is.numeric)
for (v in names(iaiai_data)[numeric_vars]) {
boxplot(
iaiai_data[[v]],
main = v,
col = "#AED6F1"
)
}
model_ols <- lm(
log(Price) ~ ArtistAge + Sketch + TitledBy + Medium +
Base + Artist + log(Area) +
AuctionHouse + YQ,
data = iaiai_data
)
s=summary(model_ols)
glance(model_ols)[, 1:6]
glance(model_ols)[, 7:12]
coeff_table <- s$coefficients
# Identify significant variables at 5% level
significant <- coeff_table[, "Pr(>|t|)"] < 0.05
sig_predictors <- rownames(coeff_table)[significant]
sig_predictors <- sig_predictors[sig_predictors != "(Intercept)"]
# Print significant predictors
sig_predictors
## [1] "ArtistAge" "Sketch1"
## [3] "TitledByArtist" "TitledByOtherPeople"
## [5] "MediumOil" "ArtistB Prabha"
## [7] "ArtistBadri Narayan" "ArtistBhupen Khakhar"
## [9] "ArtistBikash Bhattacharjee" "ArtistFN Souza"
## [11] "ArtistGanesh Pyne" "ArtistJamini Roy"
## [13] "ArtistJehangir Sabavala" "ArtistK Laxma Goud"
## [15] "ArtistKG Subramanyan" "ArtistKrishen Khanna"
## [17] "ArtistLalu Prasad Shaw" "ArtistManjit Bawa"
## [19] "ArtistManu Parekh" "ArtistRam Kumar"
## [21] "ArtistSakti Burman" "ArtistSatish Gujral"
## [23] "ArtistSH Raza" "ArtistTyeb Mehta"
## [25] "ArtistVS Gaitonde" "log(Area)"
## [27] "AuctionHouseChristies" "AuctionHouseOthers"
## [29] "AuctionHouseSaffronart" "AuctionHouseSothebys"
## [31] "AuctionHouseStoryLtd" "YQ20124"
## [33] "YQ20154" "YQ20163"
## [35] "YQ20173" "YQ20183"
## [37] "YQ20184" "YQ20213"
## [39] "YQ20221" "YQ20223"
## [41] "YQ20232" "YQ20233"
## [43] "YQ20234" "YQ20241"
## [45] "YQ20242" "YQ20243"
## [47] "YQ20244" "YQ20251"
## [49] "YQ20252" "YQ20253"
plot(model_ols)
5,468,5064,3156,6189 are the points possibly problematic to the model.
problem_rows <- c(5, 468, 5064, 3156, 6189)
iaiai_data[problem_rows, ]
Very small works sold at exceptionally high prices For example, a painting with an area of 0.08 square units sold for ₹1,195,950 (Jamini Roy, Christie’s), while another work with an area of only 0.01 square units sold for ₹1,655,625 (Jamini Roy, Christie’s).
Large works sold at relatively modest prices For instance, a work with an area of 12.49 square units was sold for ₹245,000 (Jamini Roy, Other auction houses).
Certain transactions deviate substantially from model-predicted
prices despite strong artist and medium fixed effects.
Examples include a 0.77 square unit work sold for ₹4,790 (Jamini Roy,
Gouache on Paper) and a 1.69 square unit work sold for ₹180,000 (Ganesh
Pyne, Oil on Canvas).
#Outlier and Influence Diagnostics
outlier_test <- outlierTest(model_ols)
print(outlier_test) # the most extreme outliers
## rstudent unadjusted p-value Bonferroni p
## 3156 -6.121014 9.6122e-10 1.0774e-05
## 5064 5.692490 1.2838e-08 1.4390e-04
## 6189 -5.318167 1.0685e-07 1.1977e-03
## 10571 5.258828 1.4767e-07 1.6553e-03
## 2820 -5.220582 1.8159e-07 2.0354e-03
## 5777 5.187090 2.1737e-07 2.4365e-03
## 6932 -5.185730 2.1896e-07 2.4543e-03
## 8482 4.806938 1.5527e-06 1.7404e-02
## 8953 4.736372 2.2027e-06 2.4691e-02
## 3153 -4.718481 2.4051e-06 2.6959e-02
Interpretation: The observations are statistically significant outliers because their Bonferroni-adjusted p-values are below the 5% significance level, leading to rejection of the null hypothesis that their residuals are consistent with the model.
Taking threshold for Cook’s Distance as 4/(n-p-1) where n: No. of Observations p: No. of predictors
# Cook's Distance
cooks_vals <- cooks.distance(model_ols)
cooks_df <- data.frame(
Observation = 1:length(cooks_vals),
CooksDistance = cooks_vals
)
# Compute threshold
n <- nrow(iaiai_data)
p <- length(coef(model_ols)) - 1
threshold <- 4 / (n - p - 1)
# Plot Cook's Distance
cd_plot <- ggplot(cooks_df, aes(x = Observation, y = CooksDistance)) +
geom_segment(aes(xend = Observation, yend = 0), color = "steelblue") +
geom_hline(yintercept = threshold, color = "red", linetype = "dashed") +
labs(
x = "Observation Index",
y = "Cook's Distance"
) +
theme_minimal()
cd_plot
# Save plot
options(scipen = 999)
ggsave("iaiai_cooks_distance.png", plot = cd_plot, width = 7, height = 4, dpi = 300)
Threshold for hat values = 2*(p+1)/n
# Hat (leverage) values
hat_vals <- hatvalues(model_ols)
plot(
hat_vals,
type = "h",
main = "Hat Values (Leverage) – IAIAI",
ylab = "Hat Value",
xlab = "Observation Index"
)
leverage_threshold <- 2 * (p + 1) / n
abline(h = leverage_threshold, col = "red", lty = 2, lwd = 3)
print(paste("Leverage Threshold:", round(leverage_threshold, 4)))
## [1] "Leverage Threshold: 0.0202"
library(ggplot2)
# Extract diagnostics
diag_df <- data.frame(
leverage = hatvalues(model_ols),
std_resid = rstandard(model_ols),
cooks = cooks.distance(model_ols)
)
# Cook's Distance bubble plot
cooks_plot <- ggplot(diag_df, aes(x = leverage, y = std_resid)) +
geom_point(
aes(size = cooks),
alpha = 0.6,
color = "black"
) +
geom_smooth(
method = "loess",
se = FALSE,
color = "blue",
linewidth = 1
) +
scale_size_continuous(
name = "Cook's Distance",
range = c(2, 10)
) +
labs(
x = "Leverage",
y = "Standardized Residuals"
) +
theme_minimal(base_size = 12)
cooks_plot
iaiai_data %>%group_by(YQ) %>% summarize(Frequency = n())
diagnostics_export <- iaiai_data %>%
mutate(
RowID = row_number(),
Leverage = hatvalues(model_ols),
CooksDistance = cooks.distance(model_ols),
Std_Residual = rstandard(model_ols),
Predicted_LogPrice = fitted(model_ols),
Predicted_Price = exp(Predicted_LogPrice)
) %>%
dplyr::select(
RowID,
Artist,
YQ,
Price,
Predicted_Price,
Area,
Medium,
AuctionHouse,
Leverage,
Std_Residual,
CooksDistance
) %>%
arrange(desc(CooksDistance))
write.xlsx(
diagnostics_export,
file = "IAIAI_OLS_Diagnostics_Influential_Observations.xlsx",
rowNames = FALSE
)
# Identify influential observations using Cook's Distance
influential_points <- which(cooks_vals > threshold)
key_cols <- c(
"RowID", "Price", "Artist", "Area",
"Medium", "AuctionHouse", "YQ"
)
write.xlsx( influential_points,file = "IAIAI_Influential_Observations.xlsx",rowNames = FALSE)
# Remove influential observations
clean_data <- iaiai_data[-influential_points, ]
dim(clean_data)
## [1] 10684 16
model_clean <- lm(
log(Price) ~ ArtistAge + Sketch + TitledBy + Medium +
Base + Artist + log(Area) + AuctionHouse + YQ,
data = clean_data
)
glance(model_clean)[, 1:6]
glance(model_clean)[, 7:12]
(i)Forming Index with outliers removed
coefficients <- coef(model_clean)
intercept <- coefficients["(Intercept)"]
index_data <- data.frame(Index = coefficients[grep("^YQ", names(coefficients))])
index_data$YQ <- rownames(index_data)
rownames(index_data) <- NULL
index_data <- index_data %>% relocate(YQ, .before = Index)
index_data <- index_data %>% add_row(YQ = "YQ20101", Index = 0, .before = 1)
index_data <- index_data %>% mutate( Index = Index + intercept, YQ = substr(YQ, 3, 7))
index_data$YQ <- as.numeric(index_data$YQ)
index_data <- index_data %>% arrange(YQ)
index_data$Index <- exp(index_data$Index)
base <- index_data$Index[1]
index_data <- index_data %>%
mutate(Index = Index / base * 100)
index_data$YQ <- as.character(index_data$YQ)
(k)IndexPlot
library(ggplot2)
index_plot <- ggplot(index_data, aes(x = as.factor(YQ), y = Index, group = 1)) +
geom_line(color = "darkslateblue", linewidth = 1) +
geom_point(color = "darkslateblue", size = 2) +
labs(x = "Year–Quarter", y = "IAIAI Art Price Index") +
scale_x_discrete(limits = index_data$YQ) +
theme_minimal() +
theme(
axis.text.x = element_text(angle = 90, size = 7),
axis.title = element_text(size = 12),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank()
)
index_plot
ggsave(
"IAIAI_Index_Plot.png",
plot = index_plot,
width = 7,
height = 4,
dpi = 300
)
(l)Robust Regression Huber Weights
robreg1 <- rlm( log(Price) ~ ArtistAge + Sketch + TitledBy + Medium + Base + Artist + log(Area) + AuctionHouse + YQ,data = iaiai_data)
s1 <- summary(robreg1)
s1
##
## Call: rlm(formula = log(Price) ~ ArtistAge + Sketch + TitledBy + Medium +
## Base + Artist + log(Area) + AuctionHouse + YQ, data = iaiai_data)
## Residuals:
## Min 1Q Median 3Q Max
## -4.23846 -0.40548 -0.01627 0.40335 3.92115
##
## Coefficients:
## Value Std. Error t value
## (Intercept) 10.8586 1.0380 10.4613
## ArtistAge 0.0246 0.0060 4.1203
## Sketch1 -0.4019 0.0254 -15.8014
## TitledByArtist 0.2320 0.0163 14.2367
## TitledByOtherPeople 0.1437 0.0207 6.9574
## Medium0.Ink 0.4932 0.6423 0.7679
## MediumAcrylic 0.9326 0.6430 1.4504
## MediumCharcoal 0.5082 0.6436 0.7895
## MediumGouache 1.0337 0.6435 1.6064
## MediumMixed 0.8273 0.6426 1.2873
## MediumOil 1.4398 0.6431 2.2390
## MediumOthers 0.5331 0.6427 0.8295
## MediumPastel 0.5425 0.6434 0.8433
## MediumPencil 0.5598 0.9074 0.6169
## MediumTempera 1.1507 0.6439 1.7870
## MediumWaterColor 0.6424 0.6426 0.9996
## Base0.Others -1.0808 0.6413 -1.6855
## BaseBoard -1.0113 0.6408 -1.5781
## BaseCanvas -0.7331 0.6409 -1.1438
## BasePaper -1.2413 0.6404 -1.9382
## ArtistAnjolie Ela Menon 0.0722 0.0932 0.7750
## ArtistB Prabha -0.9061 0.0601 -15.0776
## ArtistBadri Narayan -0.4318 0.0534 -8.0870
## ArtistBhupen Khakhar 1.0318 0.0684 15.0857
## ArtistBikash Bhattacharjee -0.0956 0.0923 -1.0361
## ArtistFN Souza 0.4458 0.0448 9.9455
## ArtistGanesh Pyne 1.2169 0.0750 16.2360
## ArtistJamini Roy -1.1514 0.2498 -4.6099
## ArtistJehangir Sabavala 0.7868 0.0723 10.8876
## ArtistJogen Chowdhury 0.1358 0.0800 1.6976
## ArtistK Laxma Goud -0.2450 0.0876 -2.7985
## ArtistKG Subramanyan -0.6816 0.0563 -12.0977
## ArtistKrishen Khanna -0.7161 0.0451 -15.8726
## ArtistLalu Prasad Shaw -0.6789 0.0769 -8.8286
## ArtistManjit Bawa 1.0007 0.0942 10.6267
## ArtistManu Parekh -1.2987 0.0843 -15.4044
## ArtistMF Husain 0.2351 0.0825 2.8494
## ArtistRam Kumar -0.1867 0.0509 -3.6705
## ArtistSakti Burman -0.3510 0.0625 -5.6117
## ArtistSatish Gujral -0.4139 0.0688 -6.0187
## ArtistSH Raza 0.7271 0.0551 13.1943
## ArtistThota Vaikuntam -0.0854 0.0967 -0.8831
## ArtistTyeb Mehta 2.0300 0.0700 28.9878
## ArtistVS Gaitonde 2.2863 0.0665 34.3806
## log(Area) 0.6559 0.0069 94.6010
## AuctionHouseChristies 0.1747 0.0253 6.9098
## AuctionHouseOthers -0.2102 0.0262 -8.0386
## AuctionHousePundoles 0.0149 0.0275 0.5440
## AuctionHouseSaffronart 0.1116 0.0192 5.7998
## AuctionHouseSothebys 0.2399 0.0315 7.6180
## AuctionHouseStoryLtd -0.6242 0.0239 -26.1023
## YQ20102 -0.1636 0.1561 -1.0485
## YQ20103 0.0964 0.1478 0.6519
## YQ20104 -0.1065 0.1891 -0.5636
## YQ20111 -0.0681 0.1333 -0.5108
## YQ20112 0.0391 0.1438 0.2722
## YQ20113 0.0296 0.1315 0.2253
## YQ20114 0.2015 0.1621 1.2430
## YQ20121 -0.0785 0.1290 -0.6086
## YQ20122 -0.2058 0.1327 -1.5510
## YQ20123 -0.1201 0.1277 -0.9409
## YQ20124 -0.2412 0.1405 -1.7168
## YQ20131 -0.1671 0.1295 -1.2906
## YQ20132 -0.0572 0.1306 -0.4379
## YQ20133 -0.2269 0.1321 -1.7177
## YQ20134 0.0711 0.1366 0.5205
## YQ20141 0.1174 0.1285 0.9133
## YQ20142 0.1051 0.1374 0.7652
## YQ20143 0.0670 0.1303 0.5144
## YQ20144 0.2714 0.1307 2.0772
## YQ20151 0.1643 0.1327 1.2377
## YQ20152 0.1880 0.1349 1.3931
## YQ20153 0.0859 0.1331 0.6452
## YQ20154 0.4477 0.1444 3.0999
## YQ20161 0.1648 0.1364 1.2078
## YQ20162 0.1865 0.1413 1.3193
## YQ20163 0.4582 0.1451 3.1568
## YQ20164 0.1283 0.1329 0.9652
## YQ20171 0.2794 0.1390 2.0095
## YQ20172 0.1399 0.1338 1.0462
## YQ20173 0.3580 0.1420 2.5216
## YQ20174 0.2130 0.1356 1.5701
## YQ20181 0.3178 0.1349 2.3550
## YQ20182 0.1874 0.1378 1.3596
## YQ20183 0.3492 0.1391 2.5098
## YQ20184 0.3550 0.1360 2.6094
## YQ20191 0.2367 0.1415 1.6724
## YQ20192 0.2338 0.1395 1.6763
## YQ20193 0.1505 0.1433 1.0501
## YQ20194 0.1953 0.1407 1.3877
## YQ20201 0.3093 0.1484 2.0852
## YQ20202 0.1751 0.1396 1.2543
## YQ20203 0.2867 0.1372 2.0895
## YQ20204 0.2626 0.1400 1.8755
## YQ20211 0.2072 0.1393 1.4875
## YQ20212 0.3520 0.1412 2.4930
## YQ20213 0.3721 0.1393 2.6715
## YQ20214 0.2932 0.1395 2.1026
## YQ20221 0.3636 0.1508 2.4114
## YQ20222 0.3159 0.1449 2.1810
## YQ20223 0.5254 0.1486 3.5346
## YQ20224 0.2866 0.1489 1.9256
## YQ20231 0.3071 0.1487 2.0650
## YQ20232 0.3528 0.1502 2.3497
## YQ20233 0.6522 0.1492 4.3719
## YQ20234 0.5554 0.1500 3.7029
## YQ20241 0.5280 0.1503 3.5128
## YQ20242 0.6602 0.1512 4.3675
## YQ20243 0.7878 0.1509 5.2202
## YQ20244 0.6819 0.1516 4.4971
## YQ20251 0.4766 0.1547 3.0813
## YQ20252 0.7593 0.1549 4.9026
## YQ20253 1.0457 0.1556 6.7198
##
## Residual standard error: 0.6002 on 11099 degrees of freedom
glance(robreg1)[1:4]
glance(robreg1)[5:7]
fitted_values1 <- fitted(robreg1)
r_squared_huber <- cor(log(iaiai_data$Price), fitted_values1)^2
r_squared_huber
## [1] 0.8479423
rlm_coef <- coef(s1)
rlm_coef <- cbind(
rlm_coef,
"p.value" = 2 * (1 - pnorm(abs(rlm_coef[, "t value"])))
)
signif_predictors_huber <- rownames(rlm_coef)[rlm_coef[, "p.value"] < 0.05]
signif_predictors_huber <- signif_predictors_huber[
signif_predictors_huber != "(Intercept)"
]
signif_predictors_huber
## [1] "ArtistAge" "Sketch1"
## [3] "TitledByArtist" "TitledByOtherPeople"
## [5] "MediumOil" "ArtistB Prabha"
## [7] "ArtistBadri Narayan" "ArtistBhupen Khakhar"
## [9] "ArtistFN Souza" "ArtistGanesh Pyne"
## [11] "ArtistJamini Roy" "ArtistJehangir Sabavala"
## [13] "ArtistK Laxma Goud" "ArtistKG Subramanyan"
## [15] "ArtistKrishen Khanna" "ArtistLalu Prasad Shaw"
## [17] "ArtistManjit Bawa" "ArtistManu Parekh"
## [19] "ArtistMF Husain" "ArtistRam Kumar"
## [21] "ArtistSakti Burman" "ArtistSatish Gujral"
## [23] "ArtistSH Raza" "ArtistTyeb Mehta"
## [25] "ArtistVS Gaitonde" "log(Area)"
## [27] "AuctionHouseChristies" "AuctionHouseOthers"
## [29] "AuctionHouseSaffronart" "AuctionHouseSothebys"
## [31] "AuctionHouseStoryLtd" "YQ20144"
## [33] "YQ20154" "YQ20163"
## [35] "YQ20171" "YQ20173"
## [37] "YQ20181" "YQ20183"
## [39] "YQ20184" "YQ20201"
## [41] "YQ20203" "YQ20212"
## [43] "YQ20213" "YQ20214"
## [45] "YQ20221" "YQ20222"
## [47] "YQ20223" "YQ20231"
## [49] "YQ20232" "YQ20233"
## [51] "YQ20234" "YQ20241"
## [53] "YQ20242" "YQ20243"
## [55] "YQ20244" "YQ20251"
## [57] "YQ20252" "YQ20253"
Bisquare Weighting
robreg2 <- rlm(log(Price) ~ ArtistAge + Sketch + TitledBy + Medium + Base + Artist + log(Area) + AuctionHouse + YQ,data = iaiai_data,
psi = psi.bisquare)
s2 <- summary(robreg2)
s2
##
## Call: rlm(formula = log(Price) ~ ArtistAge + Sketch + TitledBy + Medium +
## Base + Artist + log(Area) + AuctionHouse + YQ, data = iaiai_data,
## psi = psi.bisquare)
## Residuals:
## Min 1Q Median 3Q Max
## -4.25640 -0.39660 -0.01087 0.40728 3.93327
##
## Coefficients:
## Value Std. Error t value
## (Intercept) 10.8504 1.0377 10.4558
## ArtistAge 0.0240 0.0060 4.0185
## Sketch1 -0.4054 0.0254 -15.9432
## TitledByArtist 0.2163 0.0163 13.2784
## TitledByOtherPeople 0.1408 0.0207 6.8189
## Medium0.Ink 0.5145 0.6421 0.8012
## MediumAcrylic 0.9649 0.6428 1.5011
## MediumCharcoal 0.5420 0.6435 0.8422
## MediumGouache 1.0494 0.6433 1.6312
## MediumMixed 0.8415 0.6425 1.3097
## MediumOil 1.4586 0.6429 2.2687
## MediumOthers 0.5556 0.6426 0.8647
## MediumPastel 0.5732 0.6433 0.8910
## MediumPencil 0.5847 0.9072 0.6446
## MediumTempera 1.1727 0.6438 1.8216
## MediumWaterColor 0.6626 0.6425 1.0312
## Base0.Others -1.1047 0.6411 -1.7230
## BaseBoard -1.0416 0.6407 -1.6258
## BaseCanvas -0.7446 0.6407 -1.1621
## BasePaper -1.2651 0.6403 -1.9759
## ArtistAnjolie Ela Menon 0.1177 0.0932 1.2637
## ArtistB Prabha -0.8667 0.0601 -14.4266
## ArtistBadri Narayan -0.3757 0.0534 -7.0377
## ArtistBhupen Khakhar 1.0832 0.0684 15.8415
## ArtistBikash Bhattacharjee -0.0555 0.0923 -0.6011
## ArtistFN Souza 0.4846 0.0448 10.8132
## ArtistGanesh Pyne 1.2380 0.0749 16.5207
## ArtistJamini Roy -1.0767 0.2497 -4.3118
## ArtistJehangir Sabavala 0.8339 0.0723 11.5410
## ArtistJogen Chowdhury 0.1251 0.0800 1.5632
## ArtistK Laxma Goud -0.2171 0.0875 -2.4804
## ArtistKG Subramanyan -0.6320 0.0563 -11.2188
## ArtistKrishen Khanna -0.6751 0.0451 -14.9675
## ArtistLalu Prasad Shaw -0.6479 0.0769 -8.4262
## ArtistManjit Bawa 1.0391 0.0942 11.0365
## ArtistManu Parekh -1.2723 0.0843 -15.0947
## ArtistMF Husain 0.2874 0.0825 3.4843
## ArtistRam Kumar -0.1637 0.0508 -3.2205
## ArtistSakti Burman -0.3191 0.0625 -5.1035
## ArtistSatish Gujral -0.3698 0.0688 -5.3781
## ArtistSH Raza 0.7640 0.0551 13.8666
## ArtistThota Vaikuntam -0.0757 0.0967 -0.7835
## ArtistTyeb Mehta 2.1009 0.0700 30.0060
## ArtistVS Gaitonde 2.3567 0.0665 35.4473
## log(Area) 0.6549 0.0069 94.4824
## AuctionHouseChristies 0.1604 0.0253 6.3448
## AuctionHouseOthers -0.2018 0.0261 -7.7173
## AuctionHousePundoles 0.0123 0.0274 0.4479
## AuctionHouseSaffronart 0.1132 0.0192 5.8837
## AuctionHouseSothebys 0.2215 0.0315 7.0368
## AuctionHouseStoryLtd -0.6083 0.0239 -25.4409
## YQ20102 -0.1379 0.1560 -0.8840
## YQ20103 0.1292 0.1478 0.8743
## YQ20104 -0.0726 0.1890 -0.3841
## YQ20111 -0.0217 0.1332 -0.1632
## YQ20112 0.0829 0.1438 0.5765
## YQ20113 0.0522 0.1315 0.3973
## YQ20114 0.2515 0.1621 1.5518
## YQ20121 -0.0550 0.1290 -0.4268
## YQ20122 -0.1880 0.1327 -1.4171
## YQ20123 -0.0983 0.1276 -0.7704
## YQ20124 -0.2267 0.1405 -1.6137
## YQ20131 -0.1338 0.1295 -1.0333
## YQ20132 -0.0297 0.1306 -0.2275
## YQ20133 -0.1978 0.1321 -1.4981
## YQ20134 0.0935 0.1366 0.6849
## YQ20141 0.1422 0.1285 1.1069
## YQ20142 0.1369 0.1373 0.9971
## YQ20143 0.0909 0.1303 0.6979
## YQ20144 0.2967 0.1306 2.2710
## YQ20151 0.1984 0.1327 1.4951
## YQ20152 0.2186 0.1349 1.6205
## YQ20153 0.0881 0.1331 0.6615
## YQ20154 0.4644 0.1444 3.2159
## YQ20161 0.1915 0.1364 1.4037
## YQ20162 0.2322 0.1413 1.6430
## YQ20163 0.4765 0.1451 3.2838
## YQ20164 0.1480 0.1329 1.1131
## YQ20171 0.3044 0.1390 2.1898
## YQ20172 0.1727 0.1337 1.2915
## YQ20173 0.3714 0.1419 2.6165
## YQ20174 0.2347 0.1356 1.7303
## YQ20181 0.3317 0.1349 2.4587
## YQ20182 0.2078 0.1378 1.5082
## YQ20183 0.3784 0.1391 2.7204
## YQ20184 0.3765 0.1360 2.7679
## YQ20191 0.2535 0.1415 1.7920
## YQ20192 0.2507 0.1394 1.7983
## YQ20193 0.1716 0.1433 1.1977
## YQ20194 0.2240 0.1407 1.5918
## YQ20201 0.3359 0.1483 2.2646
## YQ20202 0.1976 0.1396 1.4157
## YQ20203 0.3097 0.1372 2.2579
## YQ20204 0.2871 0.1400 2.0506
## YQ20211 0.2406 0.1393 1.7271
## YQ20212 0.3809 0.1412 2.6979
## YQ20213 0.4007 0.1393 2.8774
## YQ20214 0.3198 0.1394 2.2937
## YQ20221 0.3795 0.1507 2.5174
## YQ20222 0.3333 0.1448 2.3012
## YQ20223 0.5435 0.1486 3.6572
## YQ20224 0.3095 0.1488 2.0798
## YQ20231 0.3187 0.1487 2.1437
## YQ20232 0.3806 0.1501 2.5349
## YQ20233 0.6779 0.1491 4.5456
## YQ20234 0.5739 0.1499 3.8277
## YQ20241 0.5531 0.1503 3.6802
## YQ20242 0.6919 0.1511 4.5783
## YQ20243 0.8071 0.1509 5.3495
## YQ20244 0.7030 0.1516 4.6374
## YQ20251 0.4897 0.1546 3.1668
## YQ20252 0.7920 0.1548 5.1153
## YQ20253 1.0691 0.1556 6.8714
##
## Residual standard error: 0.5963 on 11099 degrees of freedom
glance(robreg2)[1:4]
glance(robreg2)[5:7]
fitted_values2 <- fitted(robreg2)
r_squared_bisquare <- cor(log(iaiai_data$Price), fitted_values2)^2
r_squared_bisquare
## [1] 0.8471805