# defining range of shrinkage curve
plt.loglog(shrinkageFactor,
negative_logliks,
"m--",
label="Negative log-likelihood")
plt.plot(plt.xlim(),
2 * [logRealLikelihood],
"b-.",
label="Real Covariance Likelihood")
# Adjusting View in Graph
maxLikelihood = np.amax(negative_logliks)
minLikelihood = np.amin(negative_logliks)
min_y = minLikelihood - 7.0 * np.log((plt.ylim()[1] - plt.ylim()[0]))
max_y = maxLikelihood + 16.0 * np.log(maxLikelihood - minLikelihood)
min_x = shrinkageFactor[0]
max_x = shrinkageFactor[-1]
# ledoitWolf likelihood
plt.vlines(
ledoitWolf.shrinkage_,
min_y,
-logLikelihoodLedoitWolf,
color="cyan",
linewidth=3,
label="Ledoit-Wolf Estimate",
)
# OAS likelihood
plt.vlines(
oas.shrinkage_,
min_y,
-logLikelihoodOAS,
color="green",
linewidth=3,
label="OAS Estimate"
)
# Best Covariance estimator likelihood
plt.vlines(
cv.best_estimator_.shrinkage, min_y,
-cv.best_estimator_.score(X_test),
color="yellow",
linewidth=3,
label="Cross-validation Best estimatation",
)
#plotting in Graph
plt.title("Regularized Covariance: Likelihood & Shrinkage Coefficient")
plt.xlabel("Regularization parameter: Shrinkage coefficient")
plt.ylabel("Error calculation in negative log-likelihood on test-data")
plt.ylim(min_y, max_y)
plt.xlim(min_x, max_x)
plt.legend()
plt.show()