adapt_pic_with_sigma2maxmodel |
Adapts the object that contains PIC for all candidate C's and all subsamples with sigma2_max_model. |
adapt_X_estimating_less_variables |
When running the algorithm with a different number of observable variables then the number that is available, reformat X. (Mainly used for testing) |
add_configuration |
Adds the current configuration (number of groups and factors) to df_results. |
add_metrics |
Adds several metrics to df_results. |
add_pic |
Fills in df_pic: adds a row with the calculated PIC for the current configuration. |
add_pic_parallel |
Calculates the PIC for the current configuration. |
beta_true_heterogroups |
Helpfunction in create_true_beta() for the option beta_true_heterogeneous_groups. (This is the default option.) |
calculate_best_config |
Function that returns for each candidate C the best number of groups and factors, based on the PIC. |
calculate_errors_virtual_groups |
Helpfunction for update_g(). Calculates the errors for one of the possible groups time series can be placed in. |
calculate_error_term |
Calculates the error term Y - X*beta_est - LF - LgFg. |
calculate_FL_group_estimated |
Returns the estimated groupfactorstructure. |
calculate_FL_group_true |
Calculate the true groupfactorstructure. |
calculate_lambda |
calculates factor loadings of common factors |
calculate_lambda_group |
calculates factor loadings of groupfactors |
calculate_lgfg |
Calculates the group factor structure: the matrix product of the group factors and their loadings. |
calculate_obj_for_g |
Calculates objective function for individual i and group k in order to estimate group membership. |
calculate_PIC |
Function to determine PIC (panel information criterium) |
calculate_PIC_term1 |
Function to calculate the first term of PIC (panel information criterium) |
calculate_sigma2 |
Calculates sum of squared errors, divided by NT |
calculate_sigma2maxmodel |
Calculates sigma2maxmodel |
calculate_TN_factor |
Helpfunction. Calculates part of the 4th term of the PIC. |
calculate_VCsquared |
Calculates VC², to determine the stability of the found number of groups and factors over the subsamples. |
calculate_virtual_factor_and_lambda_group |
Helpfunction used in update_g() |
calculate_W |
Calculates W = Y - X*beta_est. It is used in the initialization step of the algorithm, to initialise the factorstructures. |
calculate_XB_estimated |
Calculates (the estimated value of) the matrix X*beta_est. |
calculate_XB_true |
Calculates the product of X*beta_true . |
calculate_Z_common |
Calculates Z = Y - X*beta_est - LgFg. It is used in the estimate of the common factorstructure. |
calculate_Z_group |
Calculates Z = Y - X*beta_est - LF. It is used to estimate the groupfactorstructure. |
check_stopping_rules |
Checks the rules for stopping the algorithm, based on its convergence speed. |
clustering_with_robust_distances |
Function that puts individuals in a separate "class zero", when their distance to all possible groups is bigger then a certain threshold. |
create_covMat_crosssectional_dependence |
Function used in generating simulated data with non normal errors. |
create_data_dgp2 |
Creates an instance of DGP 2, as defined in Boudt and Heyndels (2022). |
create_true_beta |
Creates beta_true, which contains the true values of beta (= the coefficients of X) |
define_configurations |
Constructs dataframe where the rows contains all configurations that are included and for which the estimators will be estimated. |
define_C_candidates |
Defines the candidate values for C. |
define_kg_candidates |
Defines the set of combinations of group specific factors. |
define_number_subsets |
Returns a vector with the indices of the subsets. Must start with zero. |
define_object_for_initial_clustering_macropca |
Defines the object that will be used to define a initial clustering. |
define_rho_parameters |
Determines parameters of rho-function. |
determine_beta |
Helpfunction in estimate_beta() for estimating beta_est. |
determine_robust_lambda |
Help-function for return_robust_lambdaobject(). |
df_results_example |
An example for df_results. This dataframe contains the estimators for each configuration. |
do_we_estimate_common_factors |
Helpfunction to shorten code: are common factors being estimated. |
do_we_estimate_group_factors |
Helpfunction to shorten code: are group factors being estimated. |
estimate_algorithm |
This function is a wrapper around the initialization and the estimation part of the algorithm, for one configuration. It is only used for the serialized algorithm. |
estimate_beta |
Estimates beta. |
estimate_factor |
Estimates common factor(s) F. |
estimate_factor_group |
Estimates group factors Fg. |
evade_crashes_macropca |
Solves a very specific issue with MacroPCA. |
evade_floating_point_errors |
Function to evade floating point errors. |
factor_group_true_dgp3 |
factor_group_true_dgp3 contains the values of the true group factors on which Y_dgp3 is based |
fill_rc |
Fills in the optimized number of common factors for each C. |
fill_rcj |
Fills in the optimized number of groups and group specific factors for each C. |
final_estimations_filter_kg |
Filters dataframe on the requested group specific factors configuration. |
generate_grouped_factorstructure |
Generates the true groupfactorstructure, to use in simulations. |
generate_Y |
Generate panel data Y for simulations. |
get_best_configuration |
Finds the first stable interval after the first unstable point. It then defines the value for C for the begin, middle and end of this interval. |
get_convergence_speed |
Defines the convergence speed. |
get_final_estimation |
Function that returns the final clustering, based on the estimated number of groups and common and group specific factors. |
grid_add_variables |
Function which is used to have a dataframe (called "grid") with data (individualindex, timeindex, XT and LF) available. |
g_true_dgp3 |
g_true_dgp3 contains the true group memberships of the elements of Y_dgp3 |
handleNA |
Function with as input a dataframe. (this will be "Y" or "to_divide") It filters out rows with NA. |
handleNA_LG |
Removes NA's in LG (in function calculate_virtual_factor_and_lambda_group() ) |
handle_macropca_errors |
Helpfunction in robustpca(). |
initialise_beta |
Initialisation of estimation of beta (the coefficients with the observable variables) |
initialise_clustering |
Function that clusters time series in a dataframe with kmeans. |
initialise_commonfactorstructure_macropca |
Initialises the estimation of the common factors and their loadings. |
initialise_df_pic |
Initialises a dataframe which will contain the PIC for each configuration and for each value of C. |
initialise_df_results |
Initialises a dataframe that will contain an overview of metrics for each estimated configuration (for example adjusted randindex). |
initialise_rc |
Initialises rc. |
initialise_rcj |
Initialises rcj. |
initialise_X |
Creates X (the observable variables) to use in simulations. |
iterate |
Wrapper around estimate_beta(), update_g(), and estimating the factorstructures. |
kg_candidates_expand |
Function that returns the set of combinations of groupfactors for which the algorithm needs to run. |
lambda_group_true_dgp3 |
lambda_group_true_dgp3 contains the values of the loadings to the group factors on which Y_dgp3 is based |
LMROB |
Wrapper around lmrob. |
make_df_pic_parallel |
Makes a dataframe with the PIC for each configuration and each candidate C. |
make_df_results_parallel |
Makes a dataframe with information on each configuration. |
make_subsamples |
Selects a subsample of the time series, and of the length of the time series. Based on this it returns a list with a subsample of Y, the corresponding subsample of X and of the true group membership and factorstructures if applicable. |
matrixnorm |
Function to calculate the norm of a matrix. |
OF_vectorized3 |
Calculates objective function for the classical algorithm: used in iterate() and in local_search. |
OF_vectorized_helpfunction3 |
Helpfunction in OF_vectorized3() |
parallel_algorithm |
Wrapper of the loop over the subsets which in turn use the parallelised algorithm. |
plot_VCsquared |
Plots expression(VC^2) along with the corresponding number of groups (orange), common factors (darkblue) and group factors of the first group (lightblue). |
prepare_for_robpca |
Helpfunction: prepares object to perform robust PCA on. |
RCTS |
RCTS |
reassign_if_empty_groups |
Randomly reassign individual(s) if there are empty groups. This can happen if the total number of time series is low compared to the number of desired groups. |
restructure_X_to_order_slowN_fastT |
Restructures X (which is an 3D-array of dimensions (N,T,p) to a 2D-matrix of dimension (NxT,p). |
return_robust_lambdaobject |
Calculates robust loadings |
robustpca |
Function that uses robust PCA and estimates robust factors and loadings. |
run_config |
Wrapper around the non-parallel algorithm, to estimate beta, group membership and the factorstructures. |
scaling_X |
Scaling of X. |
solveFG |
Helpfunction in update_g(), to calculate solve(FG x t(FG)) x FG |
tabulate_potential_C |
Shows the configurations for potential C's of the first stable interval (beginpoint, middlepoint and endpoint) |
update_g |
Function that estimates group membership. |
X_dgp3 |
The dataset X_dgp3 contains the values of the 3 observable variables on which Y_dgp3 is based. |
Y_dgp3 |
Y_dgp3 contains a simulated dataset for DGP 3. |