|
55 | 55 | { |
56 | 56 | "cell_type": "markdown", |
57 | 57 | "metadata": { |
58 | | - "heading_collapsed": true |
| 58 | + "heading_collapsed": true, |
| 59 | + "jp-MarkdownHeadingCollapsed": true |
59 | 60 | }, |
60 | 61 | "source": [ |
61 | 62 | "## ランダム変数の役割" |
|
704 | 705 | { |
705 | 706 | "cell_type": "markdown", |
706 | 707 | "metadata": { |
707 | | - "heading_collapsed": true, |
708 | | - "jp-MarkdownHeadingCollapsed": true |
| 708 | + "heading_collapsed": true |
709 | 709 | }, |
710 | 710 | "source": [ |
711 | 711 | "## 全要素生産性" |
|
715 | 715 | "cell_type": "markdown", |
716 | 716 | "metadata": { |
717 | 717 | "heading_collapsed": true, |
718 | | - "hidden": true, |
719 | | - "jp-MarkdownHeadingCollapsed": true |
| 718 | + "hidden": true |
720 | 719 | }, |
721 | 720 | "source": [ |
722 | 721 | "### 説明" |
|
791 | 790 | "cell_type": "markdown", |
792 | 791 | "metadata": { |
793 | 792 | "heading_collapsed": true, |
794 | | - "hidden": true, |
795 | | - "jp-MarkdownHeadingCollapsed": true |
| 793 | + "hidden": true |
796 | 794 | }, |
797 | 795 | "source": [ |
798 | 796 | "### 労働時間と雇用の特徴" |
|
804 | 802 | "hidden": true |
805 | 803 | }, |
806 | 804 | "source": [ |
807 | | - "平均労働時間`hours`,就業者数`employed`,総労働時間`total_hours`の特徴を考えてみる。まずサイクルを計算し,それぞれの変数を図示しよう。(`employed`については対数化した就業者数のトレンドを計算しても良いが,結果は大きく変わらないため,ここでは対数を使わずに計算する。)" |
| 805 | + "平均労働時間`hours`,就業者数`employed`,総労働時間`total_hours`の特徴を考えてみる。まずサイクルを計算するが、次の点に留意し計算方法が異なる。\n", |
| 806 | + "* `hours`は上限があり、長期間持続的に上昇もしくは減少しない。\n", |
| 807 | + "* `employed`は長期間持続的に上昇もしくは減少することは可能な変数。\n", |
| 808 | + "* `total_hours`は、`hours`と`employed`の掛け算となっているため、長期間持続的に上昇もしくは減少することは可能な変数。" |
808 | 809 | ] |
809 | 810 | }, |
810 | 811 | { |
|
818 | 819 | "df['hours_trend'] = py4macro.trend(df['hours'])\n", |
819 | 820 | "df['hours_cycle'] = 100 * np.log( df['hours']/df['hours_trend'] )\n", |
820 | 821 | "\n", |
821 | | - "df['employed_trend'] = py4macro.trend(df['employed'])\n", |
822 | | - "df['employed_cycle'] = 100 * np.log( df['employed']/df['employed_trend'] )\n", |
| 822 | + "df['employed_trend_log'] = py4macro.trend( np.log(df['employed']) )\n", |
| 823 | + "df['employed_cycle'] = 100 * ( np.log( df['employed'] ) - df['employed_trend_log'] )\n", |
823 | 824 | "\n", |
824 | | - "df['total_hours_trend'] = py4macro.trend(df['total_hours'])\n", |
825 | | - "df['total_hours_cycle'] = 100 * np.log( df['total_hours']/df['total_hours_trend'] )" |
| 825 | + "df['total_hours_trend_log'] = py4macro.trend( np.log(df['total_hours']) )\n", |
| 826 | + "df['total_hours_cycle'] = 100 * ( np.log( df['total_hours'] ) - df['total_hours_trend_log'] )" |
826 | 827 | ] |
827 | 828 | }, |
828 | 829 | { |
|
834 | 835 | "最初に,平均労働時間を考えよう。" |
835 | 836 | ] |
836 | 837 | }, |
837 | | - { |
838 | | - "cell_type": "code", |
839 | | - "execution_count": null, |
840 | | - "metadata": { |
841 | | - "hidden": true |
842 | | - }, |
843 | | - "outputs": [], |
844 | | - "source": [ |
845 | | - "py4macro.data('jpn-q',description=True)" |
846 | | - ] |
847 | | - }, |
848 | 838 | { |
849 | 839 | "cell_type": "code", |
850 | 840 | "execution_count": null, |
|
874 | 864 | }, |
875 | 865 | "outputs": [], |
876 | 866 | "source": [ |
877 | | - "df.plot(y=['employed','employed_trend'])\n", |
| 867 | + "ax_ = df.plot(y='employed')\n", |
| 868 | + "np.exp( df['employed_trend_log'] ).plot(ax=ax_)\n", |
878 | 869 | "pass" |
879 | 870 | ] |
880 | 871 | }, |
|
884 | 875 | "hidden": true |
885 | 876 | }, |
886 | 877 | "source": [ |
887 | | - "一方,雇用者数は増加傾向にある。女性の労働市場参加率の増加や,雇用形態の変化(非正規など)の影響と考えられる。上の2つの変化を反映したのが総労働時間の変化である。" |
| 878 | + "```{admonition} コードの説明\n", |
| 879 | + "`df['employed_trend_log']`は、トレンドを対数化した値となる。指数化し元の数値に戻すために`np.exp()`を使っている。また、`np.exp(df['employed_trend'])`は`Series`を返すことになり、そのメソッド`plot()`を使って図示している。\n", |
| 880 | + "```\n", |
| 881 | + "\n", |
| 882 | + "一方,雇用者数は増加傾向にある。女性の労働市場参加率の増加や,雇用形態の変化(非正規など)の影響と考えられる。\n", |
| 883 | + "\n", |
| 884 | + "上の2つの変化を反映したのが総労働時間の変化である。" |
888 | 885 | ] |
889 | 886 | }, |
890 | 887 | { |
|
895 | 892 | }, |
896 | 893 | "outputs": [], |
897 | 894 | "source": [ |
898 | | - "df.plot(y=['total_hours','total_hours_trend'])\n", |
| 895 | + "ax_ = df.plot(y='total_hours')\n", |
| 896 | + "np.exp( df['total_hours_trend_log'] ).plot(ax=ax_)\n", |
899 | 897 | "pass" |
900 | 898 | ] |
901 | 899 | }, |
|
0 commit comments