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
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)]])
'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)
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',