Exemple #1
0
def run_survey_simulation(year = None):
    assert year is not None
    input_data_frame = get_input_data_frame(year)
    TaxBenefitSystem = openfisca_france_indirect_taxation.init_country()
    tax_benefit_system = TaxBenefitSystem()
    survey_scenario = SurveyScenario().init_from_data_frame(
        input_data_frame = input_data_frame,
        tax_benefit_system = tax_benefit_system,
        year = year,
        )
    simulation = survey_scenario.new_simulation()
    simulation.calculate('tva_taux_plein')

    return DataFrame(
        dict([
            (name, simulation.calculate(name)) for name in [
                'tva_taux_plein',
                'tva_taux_intermediaire',
                'tva_taux_reduit',
                'tva_taux_super_reduit',
                'ident_men',
                'pondmen',
                'decuc',
                'poste_coicop_611',
                'categorie_fiscale_7',
                'depenses_carburants',
                ]
            ])
        )
def test_survey_simulation(year = 2005):
    input_data_frame = get_input_data_frame(year)
    TaxBenefitSystem = openfisca_france_indirect_taxation.init_country()
    tax_benefit_system = TaxBenefitSystem()
    survey_scenario = SurveyScenario().init_from_data_frame(
        input_data_frame = input_data_frame,
        tax_benefit_system = tax_benefit_system,
        year = year,
        )
    simulation = survey_scenario.new_simulation()
    simulation.calculate('tva_taux_plein')

    return DataFrame(
        dict([
            (name, simulation.calculate(name)) for name in [
                'tva_taux_plein',
                'tva_taux_intermediaire',
                'tva_taux_reduit',
                'tva_taux_super_reduit',
                'ident_men',
                'pondmen',
                'decuc',
                'poste_coicop_611',
                'categorie_fiscale_7',
                'depenses_carburants',
                ]
            ])
        )
def simulate_df(var_to_be_simulated, year):
    """
    Construction de la DataFrame à partir de laquelle sera faite l'analyse des données
    """
    input_data_frame = get_input_data_frame(year)
    TaxBenefitSystem = openfisca_france_indirect_taxation.init_country()

    tax_benefit_system = TaxBenefitSystem()
    survey_scenario = SurveyScenario().init_from_data_frame(
        input_data_frame=input_data_frame, tax_benefit_system=tax_benefit_system, year=year
    )
    simulation = survey_scenario.new_simulation()
    return DataFrame(dict([(name, simulation.calculate(name)) for name in var_to_be_simulated]))
def test():
    # inflators_by_year = get_inflators_by_year()
    # Liste des coicop agrégées en 12 postes
    simulated_variables = ['coicop12_{}'.format(coicop12_index) for coicop12_index in range(1, 13)]

    year = 2011
    elasticities = get_elasticities(year)
    inflation_kwargs = None  # dict(inflator_by_variable = inflators_by_year[year])

    survey_scenario = SurveyScenario.create(
        elasticities = elasticities,
        inflation_kwargs = inflation_kwargs,
        year = year,
        )
    coicop12_1 = survey_scenario.simulation.calculate('coicop12_1')
    elasticite_1 = survey_scenario.simulation.calculate('elas_exp_1')
    print elasticite_1

    pivot_table = pandas.DataFrame()
    for values in simulated_variables:
        pivot_table = pandas.concat([
            pivot_table,
            survey_scenario.compute_pivot_table(values = [values], columns = ['niveau_vie_decile'])
            ])
    df = pivot_table.T
    df['depenses_tot'] = df[['coicop12_{}'.format(i) for i in range(1, 13)]].sum(axis = 1)

    for i in range(1, 13):
        df['part_coicop12_{}'.format(i)] = \
            df['coicop12_{}'.format(i)] / df['depenses_tot']

    graph_builder_bar(df[['part_coicop12_{}'.format(i) for i in range(1, 13)]])
    return toto
def simulate(simulated_variables, year):
    '''
    Construction de la DataFrame à partir de laquelle sera faite l'analyse des données
    '''
    input_data_frame = get_input_data_frame(year)
    TaxBenefitSystem = openfisca_france_indirect_taxation.init_country()

    tax_benefit_system = TaxBenefitSystem()
    survey_scenario = SurveyScenario().init_from_data_frame(
        input_data_frame=input_data_frame,
        tax_benefit_system=tax_benefit_system,
        year=year,
    )
    simulation = survey_scenario.new_simulation()
    return DataFrame(
        dict([(name, simulation.calculate(name))
              for name in simulated_variables]))
def simulate_df_calee_on_ticpe(simulated_variables, year):
    '''
    Construction de la DataFrame à partir de laquelle sera faite l'analyse des données
    '''
    input_data_frame = get_input_data_frame(year)
    input_data_frame_calee = build_df_calee_on_ticpe(input_data_frame, year, year)
    TaxBenefitSystem = openfisca_france_indirect_taxation.init_country()

    tax_benefit_system = TaxBenefitSystem()
    survey_scenario = SurveyScenario().init_from_data_frame(
        input_data_frame = input_data_frame_calee,
        tax_benefit_system = tax_benefit_system,
        year = year,
        )
    simulation = survey_scenario.new_simulation()
    return DataFrame(
        dict([
            (name, simulation.calculate(name)) for name in simulated_variables

            ])
        )
def simulate_df(year = 2005):
    '''
    Construction de la DataFrame à partir de laquelle sera faite l'analyse des données
    '''
    input_data_frame = get_input_data_frame(year)
    TaxBenefitSystem = openfisca_france_indirect_taxation.init_country()

    tax_benefit_system = TaxBenefitSystem()
    survey_scenario = SurveyScenario().init_from_data_frame(
        input_data_frame = input_data_frame,
        tax_benefit_system = tax_benefit_system,
        year = year,
        )
    simulation = survey_scenario.new_simulation()

    return pandas.DataFrame(
        dict([
            (name, simulation.calculate(name)) for name in [
                'montant_tva_taux_plein',
                'consommation_tva_taux_plein',
                'categorie_fiscale_11',
                'montant_tva_taux_intermediaire',
                'consommation_tva_taux_intermediaire',
                'montant_tva_taux_reduit',
                'montant_tva_taux_super_reduit',
                'montant_tva_total',
                'ident_men',
                'pondmen',
                'decuc',
                'age',
                'revtot',
                'rev_disponible',
                'ocde10',
                'niveau_de_vie',
                'consommation_totale',
                'decile',
                ]
            ])
        )
def create_survey_scenario(year=None):

    assert year is not None
    input_data_frame = get_input_data_frame(year)
    TaxBenefitSystem = openfisca_france_indirect_taxation.init_country()

    tax_benefit_system = TaxBenefitSystem()
    survey_scenario = SurveyScenario().init_from_data_frame(
        input_data_frame=input_data_frame,
        tax_benefit_system=tax_benefit_system,
        year=year,
    )

    return survey_scenario
Exemple #9
0
def test():
    # inflators_by_year = get_inflators_by_year()
    # Liste des coicop agrégées en 12 postes
    simulated_variables = [
        'coicop12_{}'.format(coicop12_index)
        for coicop12_index in range(1, 13)
    ]

    year = 2011
    elasticities = get_elasticities(year)
    inflation_kwargs = None  # dict(inflator_by_variable = inflators_by_year[year])

    survey_scenario = SurveyScenario.create(
        elasticities=elasticities,
        inflation_kwargs=inflation_kwargs,
        year=year,
    )
    coicop12_1 = survey_scenario.simulation.calculate('coicop12_1')
    elasticite_1 = survey_scenario.simulation.calculate('elas_exp_1')
    print elasticite_1

    pivot_table = pandas.DataFrame()
    for values in simulated_variables:
        pivot_table = pandas.concat([
            pivot_table,
            survey_scenario.compute_pivot_table(values=[values],
                                                columns=['niveau_vie_decile'])
        ])
    df = pivot_table.T
    df['depenses_tot'] = df[['coicop12_{}'.format(i)
                             for i in range(1, 13)]].sum(axis=1)

    for i in range(1, 13):
        df['part_coicop12_{}'.format(i)] = \
            df['coicop12_{}'.format(i)] / df['depenses_tot']

    graph_builder_bar(df[['part_coicop12_{}'.format(i) for i in range(1, 13)]])
    return toto
import pandas
import seaborn

# Import de modules spécifiques à Openfisca
from openfisca_france_indirect_taxation.examples.utils_example import graph_builder_bar
from openfisca_france_indirect_taxation.surveys import SurveyScenario

# Import d'une nouvelle palette de couleurs
seaborn.set_palette(seaborn.color_palette("Set2", 12))

if __name__ == '__main__':

    # Sélection des variables utilisées pour la simulation
    simulated_variables = ['depenses_carburants', 'depenses_essence', 'depenses_diesel', 'revtot']
    for year in [2000, 2005, 2011]:
        survey_scenario = SurveyScenario.create(year = year)
        pivot_table = pandas.DataFrame()
        for values in simulated_variables:
            pivot_table = pandas.concat([
                pivot_table,
                survey_scenario.compute_pivot_table(values = [values], columns = ['strate'])
                ])
        df = pivot_table.T

        # Réalisation de graphiques
        for element in simulated_variables:
            if element == 'revtot':
                continue
            df['part_{}_revtot'.format(element)] = \
                df['{}'.format(element)] / df['revtot']
            graph_builder_bar(df[['part_{}_revtot'.format(element)]])
Exemple #11
0
        'vin_droit_d_accise',
        'biere_droit_d_accise',
        'alcools_forts_droit_d_accise',
        'cigarette_droit_d_accise',
        'cigares_droit_d_accise',
        'tabac_a_rouler_droit_d_accise',
        'assurance_transport_taxe',
        'assurance_sante_taxe',
        'autres_assurances_taxe',
        'revtot',
        'rev_disponible',
        'somme_coicop12',
        'taxes_indirectes_total'
        ]
    for year in [2000, 2005, 2011]:
        survey_scenario = SurveyScenario.create(year = year)
        pivot_table = pandas.DataFrame()
        for values in simulated_variables:
            pivot_table = pandas.concat([
                pivot_table,
                survey_scenario.compute_pivot_table(values = [values], columns = ['niveau_vie_decile'])
                ])
        taxe_indirectes = pivot_table.T

        taxe_indirectes['TVA'] = taxe_indirectes['tva_total']
        taxe_indirectes['TICPE'] = taxe_indirectes['ticpe_totale']
        taxe_indirectes[u'Taxes alcools'] = (
            taxe_indirectes['vin_droit_d_accise'] +
            taxe_indirectes['biere_droit_d_accise'] +
            taxe_indirectes['alcools_forts_droit_d_accise']
            ).copy()
seaborn.set_palette(seaborn.color_palette("Set2", 12))


if __name__ == '__main__':

    inflators_by_year = get_inflators_by_year()
    # Liste des coicop agrégées en 12 postes
    simulated_variables = ['coicop12_{}'.format(coicop12_index) for coicop12_index in range(1, 13)]

    year = 2011
    elasticities = get_elasticities(year)
    inflation_kwargs = dict(inflator_by_variable = inflators_by_year[year])

    survey_scenario = SurveyScenario.create(
        elasticities = elasticities,
        inflation_kwargs = inflation_kwargs,
        year = year,
        )
    coicop12_1 = survey_scenario.simulation.calculate('coicop12_1')
    elasticite_1 = survey_scenario.simulation.calculate('elas_exp_1')

    # boum
    pivot_table = pandas.DataFrame()
    for values in simulated_variables:
        pivot_table = pandas.concat([
            pivot_table,
            survey_scenario.compute_pivot_table(values = [values], columns = ['niveau_vie_decile'])
            ])
    df = pivot_table.T
    df['depenses_tot'] = df[['coicop12_{}'.format(i) for i in range(1, 13)]].sum(axis = 1)
Exemple #13
0
if __name__ == '__main__':

    inflators_by_year = get_inflators_by_year()
    # Liste des coicop agrégées en 12 postes
    simulated_variables = [
        'coicop12_{}'.format(coicop12_index)
        for coicop12_index in range(1, 13)
    ]

    year = 2011
    elasticities = get_elasticities(year)
    inflation_kwargs = dict(inflator_by_variable=inflators_by_year[year])

    survey_scenario = SurveyScenario.create(
        elasticities=elasticities,
        inflation_kwargs=inflation_kwargs,
        year=year,
    )
    coicop12_1 = survey_scenario.simulation.calculate('coicop12_1')
    elasticite_1 = survey_scenario.simulation.calculate('elas_exp_1')

    # boum
    pivot_table = pandas.DataFrame()
    for values in simulated_variables:
        pivot_table = pandas.concat([
            pivot_table,
            survey_scenario.compute_pivot_table(values=[values],
                                                columns=['niveau_vie_decile'])
        ])
    df = pivot_table.T
    df['depenses_tot'] = df[['coicop12_{}'.format(i)
elasticities = get_elasticities_aidsills(data_year, True)
inflation_kwargs = dict(inflator_by_variable = inflators_by_year[year])


# Homogeneous + SL :
#elasticities['elas_price_1_1'] = -0.466
#elasticities['elas_price_2_2'] = -0.214

# Homogeneous, no SL :
#elasticities['elas_price_1_1'] = -0.440
#elasticities['elas_price_2_2'] = -0.139

survey_scenario = SurveyScenario.create(
    #elasticities = elasticities,
    inflation_kwargs = inflation_kwargs,
    reform_key = 'officielle_2018_in_2016',
    year = year,
    data_year = data_year
    )

simulated_variables = [
    'quantites_gaz_liquefie',
    'quantites_electricite_selon_compteur',
    'quantites_gaz_final',
    'quantites_essence',
    'quantites_diesel',
    'quantites_combustibles_liquides',
    'depenses_carburants_corrigees',
    'depenses_combustibles_liquides',
    'depenses_combustibles_solides',
    'depenses_diesel_corrigees',