|
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