LMROB                   Wrapper around lmrob.
OF_vectorized3          Calculates objective function for the classical
                        algorithm: used in iterate() and in
                        local_search.
OF_vectorized_helpfunction3
                        Helpfunction in OF_vectorized3()
RCTS                    RCTS
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.
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)
adapt_pic_with_sigma2maxmodel
                        Adapts the object that contains PIC for all
                        candidate C's and all subsamples with
                        sigma2_max_model.
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_FL_group_estimated
                        Returns the estimated groupfactorstructure.
calculate_FL_group_true
                        Calculate the true groupfactorstructure.
calculate_PIC           Function to determine PIC (panel information
                        criterium)
calculate_PIC_term1     Function to calculate the first term of PIC
                        (panel information criterium)
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_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.
calculate_best_config   Function that returns for each candidate C the
                        best number of groups and factors, based on the
                        PIC.
calculate_error_term    Calculates the error term Y - X*beta_est - LF -
                        LgFg.
calculate_errors_virtual_groups
                        Helpfunction for update_g(). Calculates the
                        errors for one of the possible groups time
                        series can be placed in.
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_sigma2        Calculates sum of squared errors, divided by NT
calculate_sigma2maxmodel
                        Calculates sigma2maxmodel
calculate_virtual_factor_and_lambda_group
                        Helpfunction used in update_g()
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_C_candidates     Defines the candidate values for C.
define_configurations   Constructs dataframe where the rows contains
                        all configurations that are included and for
                        which the estimators will be estimated.
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.
g_true_dgp3             g_true_dgp3 contains the true group memberships
                        of the elements of Y_dgp3
generate_Y              Generate panel data Y for simulations.
generate_grouped_factorstructure
                        Generates the true groupfactorstructure, to use
                        in 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.
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_X            Creates X (the observable variables) to use in
                        simulations.
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.
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
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.
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.
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.
