JP2021033382A - Device, program and method for anonymizing individual data by secret transform processing of multi-dimensional cross-frequency table - Google Patents

Device, program and method for anonymizing individual data by secret transform processing of multi-dimensional cross-frequency table Download PDF

Info

Publication number
JP2021033382A
JP2021033382A JP2019149284A JP2019149284A JP2021033382A JP 2021033382 A JP2021033382 A JP 2021033382A JP 2019149284 A JP2019149284 A JP 2019149284A JP 2019149284 A JP2019149284 A JP 2019149284A JP 2021033382 A JP2021033382 A JP 2021033382A
Authority
JP
Japan
Prior art keywords
years old
frequency
woman
term
unemployed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2019149284A
Other languages
Japanese (ja)
Other versions
JP2021033382A5 (en
JP7442995B2 (en
Inventor
一 伊原
Hajime Ihara
一 伊原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National Statistics Center
Original Assignee
National Statistics Center
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by National Statistics Center filed Critical National Statistics Center
Priority to JP2019149284A priority Critical patent/JP7442995B2/en
Publication of JP2021033382A publication Critical patent/JP2021033382A/en
Publication of JP2021033382A5 publication Critical patent/JP2021033382A5/ja
Application granted granted Critical
Publication of JP7442995B2 publication Critical patent/JP7442995B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

To provide a device, program and method for anonymizing individual data, which achieves ensuring security of individual data and maintaining reproducibility of aggregate results by aggregating multi-dimensional cross-frequency tables with respect to individual data from which information identifying individuals is excluded, to perform concealment processing and converting them to an individual data form while maintaining reproducibility of concealed frequency tables.SOLUTION: In the method, multi-dimensional cross frequency tables are aggregated with respect to all combinations of attribute items selected from individual data, and concealment processing of erasing attribute combinations including risk cells, rounding, and so on is performed, and differences between a sum total and breakdown totals are calculated with respect to each of the combinations of attribute items to output records corresponding to breakdown and frequencies of the differences, thereby anonymizing the individual data by converting frequency tables to an individual data form while maintaining reproducibility of the frequency tables.SELECTED DRAWING: Figure 2

Description

1.発明の名称
多次元クロス度数表の秘匿変換処理による個票データの匿名化装置、プログラム、及び手法
1. 1. Title of the invention Anonymization device, program, and method of individual data by concealment conversion processing of multidimensional cross frequency table

2.技術分野
本発明は、統計分野における統計調査及びアンケート調査等の個票データについて、個人情報を含むリスクレコードを匿名化し、プライバシー保護の観点から安全にデータ利用を行うことができるようにするための匿名化技術に関するものである。本発明を用いることで、統計調査及びアンケート調査等の個票データにおける個人や世帯等について、孤立した属性を持つリスクレコードの匿名化を行うことが可能となる。
2. Technical Field The present invention aims to anonymize risk records including personal information for individual data such as statistical surveys and questionnaire surveys in the statistical field so that the data can be used safely from the viewpoint of privacy protection. It is about anonymization technology. By using the present invention, it is possible to anonymize risk records having isolated attributes for individuals, households, etc. in individual data such as statistical surveys and questionnaire surveys.

3.背景技術
統計調査やアンケート調査等において、個人情報が含まれる個票データを用いて統計表の集計や分析を行う場合は、個人や世帯等を識別できる情報を除去した上で利用する必要がある。しかし、個票データから単純に個人や世帯等の識別情報を除去するだけでは個人情報の秘匿は不十分であり、個人や世帯等の属性別度数表において度数が1や2などのように少ない場合は個人が特定される可能性があるリスクセルとなるため、さらに秘匿処理を加える必要がある。
統計分野では、統計表の秘匿処理は統計を集計するための製表技術の一部として用いられており、結果表の集計前に個票データのリスクレコードの匿名化処理を行う方法が事前秘匿と呼ばれるのに対して、集計後の統計表においてリスクセルの安全処理を行う方法は事後秘匿と呼ばれている。
個票データにおけるリスクレコードは、結果表集計後に検出されることから、集計結果表の秘匿処理は集計後の集計結果表上で事後秘匿として行うのが一般的であるが、事後秘匿は全ての表に矛盾が生じないように行う必要がある。これに対して、事前秘匿は集計前の個票データ上でリスクレコードの匿名化処理を行うことで集計表間に矛盾が生じる心配がなくなることや、個票データを利用する際に公表結果表と矛盾なく分析を行うことができるメリットがある。
3. 3. Background technology When tabulating or analyzing statistical tables using individual data that includes personal information in statistical surveys and questionnaire surveys, it is necessary to remove information that can identify individuals and households before using it. .. However, simply removing the identification information of an individual or household from the individual data is not sufficient to conceal the personal information, and the frequency is as low as 1 or 2 in the attribute-specific frequency table of individuals or households. In this case, it becomes a risk cell that may identify an individual, so it is necessary to add further concealment processing.
In the field of statistics, the concealment processing of statistical tables is used as part of the table-making technology for aggregating statistics, and the method of anonymizing the risk records of individual data before aggregating the result table is pre-confidential. On the other hand, the method of safely processing risk cells in the statistical table after aggregation is called post-concealment.
Since the risk record in the individual data is detected after the result table is aggregated, the concealment process of the aggregated result table is generally performed as post-concealment on the aggregated result table after tabulation, but post-confidentiality is all. It is necessary to make sure that there is no inconsistency in the table. On the other hand, in advance concealment, there is no need to worry about inconsistencies between the summary tables by performing the risk record anonymization process on the individual form data before aggregation, and the publication result table when using the individual form data. There is a merit that the analysis can be performed without any contradiction.

3.1 一般的な匿名化手法
統計データの個票データを用いて分析を行う際に、最も重要となるのはデータの安全性と結果の再現性であり、匿名化処理を行ったデータはプライバシー保護の観点から安全であると同時に集計結果の再現性を維持する必要がある。データの安全性の観点からは、匿名化処理によって削られる情報が多いほど安全性は高くなるが、データの有用性が下がるという問題が生じるため、十分な安全性を確保しつつ、結果表の再現性を実現する方法が求められる。
個人情報を含む個票データの一般的な匿名化手法としては、(1)粗分類化、(2)レコード削除(Suppression)、(3)移し換え(度数が大きい属性等への属性変更)、(4)交換(Swapping)、(5)並び替え(Permutation)、(6)置き換え(リサンプリング)、(7)水増し、(8)乱数撹乱、(9)合成法(乱数合成値による置き換え)等が知られている。
3.1 General anonymization method When analyzing using individual statistical data, the most important thing is the safety of the data and the reproducibility of the results. From the viewpoint of privacy protection, it is necessary to maintain the reproducibility of the aggregated results while being safe. From the viewpoint of data security, the more information that is deleted by the anonymization process, the higher the security, but there is a problem that the usefulness of the data decreases, so while ensuring sufficient security, the result table A method for achieving reproducibility is required.
General anonymization methods for individual data including personal information include (1) rough classification, (2) record deletion (Suppression), and (3) transfer (attribute change to attributes with high frequency). (4) Swapping, (5) Sorting (Permutation), (6) Replacement (resampling), (7) Inflating, (8) Random number disturbance, (9) Synthesis method (replacement by random number synthesis value), etc. It has been known.

3.2 一般的な匿名化手法の問題点
(1) 粗分類化
個人や世帯等の個票データにおいて、属性項目別の度数が極端に少ない場合は、個人が特定されるリスクが高いため、個票データの匿名化手法として、属性項目の分類を粗くして粗分類化を行うことで孤立したレコードを匿名化する手法が用いられる。リスクレコードが含まれる属性分類の上端を粗くするトップコーディングや、下端を粗くするボトムコーティングは粗分類化の手法に含まれる。粗分類化の手法を用いると、属性項目の組合わせが増えるほど分類を粗くする必要があるため、細かい属性分類による集計ができなくなることから、集計結果の再現性に問題がある。
3.2 Problems with general anonymization methods
(1) Rough classification In individual data such as individuals and households, if the frequency for each attribute item is extremely low, there is a high risk that the individual will be identified. A method of anonymizing an isolated record by coarsely classifying and performing coarse classification is used. Top coding, which roughens the top edge of attribute classifications that include risk records, and bottom coating, which roughens the bottom edges, are included in the coarse classification method. When the coarse classification method is used, it is necessary to make the classification coarser as the number of combinations of attribute items increases, so that it becomes impossible to perform aggregation by fine attribute classification, and there is a problem in the reproducibility of the aggregation result.

(2) レコード削除
属性項目別の度数が極端に少ないリスクレコードについて、粗分類化を行う代わりにリスクレコードを単純に削除する方法が用いられる場合がある。しかし、リスクレコードを単純に削除してしまうと公表結果表の合計値との差分からリスクレコードの逆算が可能であり、単純削除ではリスクレコードの秘匿は行えないという問題がある。これを回避するために無作為に選んだ非リスクレコードを合わせて削除することでリスクレコードを特定できないようにするお供秘匿の手法が用いられる。しかし、この方法では本来は削除する必要のないレコードまで削除することになるため、秘匿後のデータを集計しても基データと同じ結果表を得ることができないという問題が生じる。さらに、同一の表を繰り返し集計する場合は集計の都度に異なるレコードが無作為に削除されるため、秘匿パターンの異なる複数の表を照合することで、削除されたレコードの値がわかってしまうという安全性の問題がある。
また、属性別の度数が基準以上になるように一定度数未満のレコードを一律に削除して秘匿処理を行うと、組合わせによる属性が詳細になるほど削除されるレコードが増えていき、有効なレコード数が基データと比べて大幅に減少して集計結果が一致しなくなることから、集計結果の再現性に問題が生じる。
(2) Record deletion For risk records with extremely low frequency for each attribute item, a method of simply deleting risk records may be used instead of rough classification. However, if the risk record is simply deleted, the risk record can be calculated back from the difference from the total value in the published result table, and there is a problem that the risk record cannot be concealed by simple deletion. In order to avoid this, a concealment method is used that makes it impossible to identify the risk record by deleting the randomly selected non-risk record together. However, since this method deletes even records that do not originally need to be deleted, there arises a problem that the same result table as the basic data cannot be obtained even if the data after concealment is aggregated. Furthermore, when the same table is repeatedly aggregated, different records are randomly deleted each time it is aggregated, so by collating multiple tables with different concealment patterns, the value of the deleted records can be found. There is a safety issue.
In addition, if records with less than a certain frequency are uniformly deleted so that the frequency for each attribute exceeds the standard and concealment processing is performed, the number of records deleted increases as the attributes of the combination become more detailed, and valid records Since the number is significantly reduced compared to the basic data and the aggregated results do not match, there is a problem in the reproducibility of the aggregated results.

(3) 移し換え
リスクレコードの属性項目について、近隣レコードと同じ属性に変更する移し換えの方法が用いられる場合があるが、移し換えによって歪みが生じるため、公表結果表(真値)との差分によって秘匿内容が露出してしまうことがあり、安全性に問題がある。また、匿名化処理後のデータは歪みを含むため、集計結果の再現性に問題がある。
(3) Transfer The transfer method of changing the attribute item of the risk record to the same attribute as the neighboring record may be used, but since the transfer causes distortion, the difference from the published result table (true value). The confidential content may be exposed, which poses a safety problem. In addition, since the data after the anonymization process contains distortion, there is a problem in the reproducibility of the aggregation result.

(4) 交換(スワッピング)
部分的に共通な属性項目を持つレコードについて、非共通属性項目をレコード単位で交換することで、リスクレコードを匿名化する方法。レコード数および共通属性項目の集計値が変わらないというメリットがあるが、より詳細な属性項目の組合わせで集計結果表が公表されている場合は、真値との差から交換内容が判明してしまうことがある。また、同じ個票データを繰り返して匿名化すると、交換レコードの組合わせの差分からリスクレコードが特定されてしまう可能性があり、安全性の問題がある。また、共通項目以外の詳細な集計を行うと、公表結果表(真値)と一致しないため、集計結果の再現性に問題が生じる。
(4) Replacement (swapping)
A method of anonymizing risk records by exchanging non-common attribute items on a record-by-record basis for records that have partially common attribute items. There is an advantage that the number of records and the aggregated value of common attribute items do not change, but if the aggregated result table is published with a more detailed combination of attribute items, the exchange content can be found from the difference from the true value. It may end up. In addition, if the same individual form data is repeatedly anonymized, the risk record may be identified from the difference in the combination of exchange records, which poses a safety problem. In addition, if detailed tabulation other than common items is performed, it does not match the published result table (true value), which causes a problem in the reproducibility of the tabulation result.

(5) 並び替え
2レコード間で行う交換(スワッピング)について、リスクレコードと共通な属性項目を持つグループ内で並び替えを行うことでリスクレコードの匿名化を行う手法。複数レコードのグループ内で項目の並び替えを行うことで、スワッピングよりも安全性が高くなることが期待できるが、安全性の問題が完全に解消されるわけではないため、交換(スワッピング)と同様に安全性と集計結果の再現性に問題が生じる。
(5) Sorting A method of anonymizing risk records by sorting within a group that has the same attribute items as risk records for swapping between two records. Sorting items within a group of multiple records can be expected to be more secure than swapping, but it does not completely eliminate the safety issue, so it is similar to swapping. However, there are problems with safety and reproducibility of aggregated results.

(6) 置き換え(リサンプリング)
別の方法として、リスクレコードを削除する代わりにリサンプリングした他のレコードで置き換える方法があるが、同じ集計結果表を繰り返し作成すると、異なる乱数パターンの組み合わせでリサンプリングされるため、リスクレコードが集計結果表の差分によって特定されてしまうという問題や、公表されている集計結果表との差により、置き換えたレコードの値が逆算されるという問題が生じる。また、リサンプリングによって置き換えられたレコードがノイズとなるため、秘匿後のデータを集計しても基データと同じ結果表を得ることができなくなることから、集計結果の再現性に問題がある。
(6) Replacement (resampling)
Another method is to replace the risk record with another resampled record instead of deleting it, but if the same aggregation result table is created repeatedly, the risk record will be aggregated because it will be resampled with a combination of different random number patterns. There is a problem that it is specified by the difference in the result table, and there is a problem that the value of the replaced record is calculated back due to the difference from the published summary result table. Further, since the record replaced by resampling becomes noise, the same result table as the basic data cannot be obtained even if the data after concealment is aggregated, so that there is a problem in the reproducibility of the aggregated result.

(7) 水増し
リスクレコードを削除する代わりに、同じ属性項目のレコードを重複させて水増しすることで見かけ上の安全性を確保する方法があるが、水増しによって集計結果表に歪みが生じるため、集計結果の再現性に問題がある。
(7) Instead of deleting the inflated risk record, there is a method to ensure the apparent safety by duplicating the records of the same attribute item and inflating them. There is a problem with the reproducibility of the results.

(8) 乱数撹乱
リスクレコードが含まれる属性項目の組合わせについて、乱数によるノイズを加えることによって、安全性を確保する乱数撹乱の手法がある。ノイズは、レコード単位で加える場合と項目ごとに加える場合がある。リスクレコードのみにノイズを加えると公表結果表との差分によりノイズが特定できてしまうため、安全性を高めるために複数レコードもしくは全レコードにノイズを加える必要があるが、ノイズが混入したデータは正確な結果表を集計できないため、集計結果の再現性に問題がある。
(8) Random number disturbance There is a random number disturbance method that ensures safety by adding noise due to random numbers for a combination of attribute items that include risk records. Noise may be added on a record-by-record basis or on an item-by-item basis. If noise is added only to the risk record, the noise can be identified by the difference from the publication result table, so it is necessary to add noise to multiple records or all records to improve safety, but the data mixed with noise is accurate. There is a problem in the reproducibility of the aggregated results because it is not possible to aggregate the results.

(9) 合成法
乱数撹乱による方法の1つとして、平均値(統計量)等が基データと一致するように乱数を発生させた合成値を用いる方法があるが、平均以外の標準偏差や相関係数等の統計量も全て一致するような合成値を作成する方法は実現されていないため、再現性が不十分となる。また、統計量を緻密に再現するとリスクレコードを逆算できる場合や、項目間の矛盾や異常値によりリスクレコードが特定できる可能性があるため、安全性に問題がある。
(9) Synthesis method As one of the methods by random number disturbance, there is a method of using a composite value in which a random number is generated so that the mean value (statistic) matches the basic data, but the standard deviation and phase other than the mean are used. Since the method of creating a composite value in which all the statistics such as the number of relations match is not realized, the reproducibility becomes insufficient. In addition, if the statistics are reproduced precisely, the risk record may be calculated back, or the risk record may be identified due to a contradiction between items or an abnormal value, which poses a safety problem.

3.3 匿名化技術関連の既存特許
匿名化関連の既存特許に用いられている手法は、大別して(1)粗分類化、(2)乱数撹乱、(3)レコード水増し、(4)秘密計算、(5)複合法等に分けられる。
3.3 Existing patents related to anonymization technology The methods used in existing patents related to anonymization are roughly divided into (1) coarse classification, (2) random number disturbance, (3) record padding, and (4) secret calculation. , (5) Divided into compound methods, etc.

3.3.1 粗分類化
粗分類化のベースとなる考え方はk匿名化と呼ばれており、個人情報を含む個票データの中に件数の少ない孤立レコードが存在すると個人が特定されるリスクとなるが、同じ属性のレコードがk件以上存在すれば個人を特定できなくなるため安全とされる。k匿名化を利用して個票データの中の同じ属性のレコードが複数存在するように属性分類を粗くする方法が粗分類化と呼ばれている。
粗分類化の手法を用いた特許技術は2013年から2017年までに以下の特許が取得許可されている。粗分類化の考え方については、k匿名化の概念が定義される以前から統計の製表技術分野において用いられている手法であり、関連特許は単純な粗分類化を行うのではなく、これをベースにした応用技術となっている。
粗分類化関連の手法(自動分類、削除等を含む)を用いている例として、特許文献(1)〜(18)が挙げられる。
33.1 Coarse classification The basic idea of coarse classification is called k-anonymization, and there is a risk that an individual will be identified if there are a small number of isolated records in the individual data including personal information. However, if there are k or more records with the same attribute, it will not be possible to identify an individual, so it is considered safe. k A method of coarsening the attribute classification so that there are multiple records of the same attribute in the individual data using anonymization is called coarse classification.
The following patents have been granted from 2013 to 2017 for patented technology using the rough classification method. The concept of coarse classification is a method that has been used in the field of statistical tablemaking technology even before the concept of k-anonymization was defined, and related patents do not perform simple rough classification. It is an applied technology based on it.
Patent documents (1) to (18) are examples of using methods related to rough classification (including automatic classification, deletion, etc.).

3.3.2 乱数撹乱
個人情報を含むデータの匿名化手法として、乱数によるノイズをデータに含めることで匿名化を行う撹乱手法が用いられる。ノイズによる乱数撹乱は、基データの分類区分を変更せずに利用できるというメリットがある一方で、データにノイズが含まれることになるため、分析結果が必ずしも正しい値に一致しないという問題があり、対策としてノイズの平均値がゼロになるように撹乱を行う手法等が用いられる。
乱数撹乱による匿名化技術は、諸外国(オーストラリア等)において統計表の標準的な秘匿手法として用いられているが、日本では以下の関連特許が取得されており、粗分類化の代替手法として利用されている。
乱数撹乱関連の手法を用いている例として、特許文献(19)〜(21)が挙げられる。
3.3.2 Random number disturbance As an anonymization method for data including personal information, a disturbance method is used in which anonymization is performed by including noise due to random numbers in the data. Random number disturbance due to noise has the advantage that it can be used without changing the classification classification of the underlying data, but there is a problem that the analysis results do not always match the correct values because the data contains noise. As a countermeasure, a method of disturbing the noise so that the average value becomes zero is used.
Anonymization technology by random number disturbance is used as a standard concealment method for statistical tables in other countries (Australia, etc.), but the following related patents have been obtained in Japan, and it is used as an alternative method for rough classification. Has been done.
Patent documents (19) to (21) are examples of using a method related to random number disturbance.

3.3.3 レコード水増し
乱数による撹乱手法は乱数に起因する異常値やはずれ値が発生して実際のデータと性質が異なるデータになるという問題がある。そこで、ノイズを加えて撹乱する代わりに、リスクレコードと同様の性質を持つレコードを水増ししてL多様性秘匿を行う方法が用いられる。リスクレコードと同じ属性のレコードを水増しすることで、重複IDを含むデータも秘匿できるというメリットがある。
水増しによる匿名化技術は以下の特許が取得されているが、匿名化データの集計結果が変わってしまうというデミリットが大きいため、統計分野の匿名化技術として用いることはできない。
レコード水増し関連の手法を用いている例として、特許文献(22)が挙げられる。
3.3.3 Record padding The random number disturbance method has a problem that abnormal values and outliers due to random numbers occur and the data have different properties from the actual data. Therefore, instead of adding noise and disturbing, a method is used in which records having the same properties as risk records are inflated to conceal L-diversity. By padding records with the same attributes as risk records, there is an advantage that data including duplicate IDs can be kept secret.
The following patents have been obtained for the inflated anonymization technology, but it cannot be used as an anonymization technology in the field of statistics because of the large demerit that the aggregated results of anonymized data will change.
Patent Document (22) is an example of using a method related to record padding.

3.3.4 秘密計算
秘密計算は、個人情報が含まれるデータを暗号化し、複数データに分散して保存した上で、暗号化したまま複合せずに統計量を計算する手法。利用者は個票を見ないで計算処理を行うため、データ利用時の安全性を高めることができるが、秘密計算自体には集計結果を匿名化する機能がないため、集計結果から個人情報が特定されることを防ぐために別途、集計結果の出力制限機能が必要となる。
秘密計算関連の手法を用いている例として、特許文献(23)が挙げられる。
3.3.4 Confidential calculation Confidential calculation is a method in which data containing personal information is encrypted, distributed and stored in multiple data, and then the statistics are calculated without compounding while still encrypted. Since the user performs the calculation process without looking at the individual form, it is possible to improve the security when using the data, but since the secret calculation itself does not have a function to anonymize the aggregated result, personal information can be obtained from the aggregated result. A separate output restriction function for aggregated results is required to prevent identification.
Patent Document (23) is an example of using a method related to secret calculation.

3.3.5 複合手法
複合手法は、上記の粗分類化、乱数撹乱、秘密計算、置換、削除等を組合わせるか、選択して匿名化処理を行う手法で、複合手法を用いている例として、特許文献(24)〜(27)が挙げられる。
3.3.5 Combined method The combined method is a method that combines or selects the above-mentioned coarse classification, random number disturbance, secret calculation, replacement, deletion, etc., and performs anonymization processing, and is an example of using the combined method. Examples thereof include Patent Documents (24) to (27).

3.4 既存特許の問題点
匿名化技術関連の既存特許については、それぞれ下記の問題がある。
(1) 粗分類化
匿名化技術関連の既存特許の内、粗分類化については集計に用いる分類を粗くしてしまうため、例えば各歳年齢が区分の粗い10歳階級になったり、都道府県が区分の粗い地方別になったりするなど、基データの集計結果表を再現できなくなるという問題がある。
3.4 Problems with existing patents Each of the existing patents related to anonymization technology has the following problems.
(1) Coarse classification Of the existing patents related to anonymization technology, the classification used for tabulation is rough for rough classification, so for example, each age may be a coarse 10-year-old class, or prefectures may There is a problem that it is not possible to reproduce the aggregated result table of the basic data, such as by dividing into coarse regions.

(2) 乱数撹乱
乱数撹乱については、ノイズ(偽データ)が混入することで結果表の再現性を維持できないため、統計データの秘匿には適さない。また、反復利用すると差分によって秘匿が露出する可能性があり、安全性を確保できない。
(2) Random number disturbance Random number disturbance is not suitable for concealing statistical data because the reproducibility of the result table cannot be maintained due to the inclusion of noise (fake data). In addition, if it is used repeatedly, the confidentiality may be exposed due to the difference, and safety cannot be ensured.

(3) レコード水増し
レコード水増しについては、匿名化後の集計結果が変わってしまうため、統計データの秘匿には適さないという問題がある。
(3) Inflated records There is a problem that inflated records are not suitable for concealing statistical data because the aggregated results after anonymization will change.

(4) 秘密計算
秘密計算については、暗号化して統計計算を行う技術であることから利用時の安全性向上に貢献できるが、結果の安全性を確保するための技術ではないため、匿名化データの作成技術としては利用できないという問題がある。
(4) Confidential calculation Confidential calculation is a technology that encrypts and performs statistical calculations, so it can contribute to improving security when using it, but it is not a technology to ensure the security of results, so anonymized data There is a problem that it cannot be used as a technique for creating.

統計分野の個票データのリスクレコード匿名化の技術については、安全性を確保しつつ、基データと同等の統計表の再現性を維持できる技術が十分に確立されていないのが現状となっている。 Regarding the technology for anonymizing risk records for individual data in the field of statistics, the current situation is that the technology that can maintain the reproducibility of statistical tables equivalent to the basic data while ensuring safety has not been sufficiently established. There is.

3.5 先行技術文献
個票データの匿名化に関連する先行技術の文献として、特許文献と特許以外の非特許文献がある。
3.5.1 特許文献
個票データの匿名化に関連する先行技術の特許文献として、以下が挙げられる。
3.5 Prior art documents Prior art documents related to anonymization of individual data include patent documents and non-patent documents other than patents.
3.5.1 Patent Documents The following are examples of prior art patent documents related to anonymization of individual data.

(1) 特許6127774(2017年 日本電気株式会社) 情報処理装置、及び、データ処理方法(特徴:病名を有効期間で粗分類化し、個人属性をk匿名化)(1) Patent 6127774 (2017 NEC Corporation) Information processing equipment and data processing method (Characteristics: Rough classification of disease names by validity period and k-anonymization of personal attributes) (2) 特許6097774(2017年 ソフトバンク株式会社) 匿名化処理方法、匿名化処理プログラム、及び匿名化処理装置(特徴:データを空間距離でグループ化し、追加レコードをグループ代表値で分類)(2) Patent 6097774 (2017 SoftBank Corp.) Anonymization processing method, anonymization processing program, and anonymization processing device (Features: Group data by spatial distance and classify additional records by group representative value) (3) 特許6079783(2017年 日本電気株式会社) 匿名化を実行する情報処理装置及び匿名化方法、及びプログラム(特徴:l多様性を満たすグループの遷移ベクトルの類似度を用いた秘匿)(3) Patent 6097983 (2017 NEC Corporation) Information processing device and anonymization method for performing anonymization, and a program (feature: concealment using the similarity of transition vectors of groups satisfying l-diversity) (4) 特許6078437(2017年 株式会社日立ソリューションズ) パーソナル情報匿名化システム(特徴:抽象化(粗分類化)によるk匿名化を行うための一般化階層木の編集)(4) Patent 6078437 (2017 Hitachi Solutions, Ltd.) Personal information anonymization system (Feature: Editing of generalized hierarchical tree for k-anonymization by abstraction (coarse classification)) (5) 特許6065833(2017年 日本電気株式会社) 分散匿名化システム、分散匿名化装置及び分散匿名化方法(特徴:グループごとに追加したダミーレコードが分散するように個人属性を粗分類化)(5) Patent 6065833 (2017 NEC Corporation) Distributed anonymization system, distributed anonymization device and distributed anonymization method (Characteristics: Rough classification of personal attributes so that dummy records added for each group are distributed) (6) 特許6015658(2016年 日本電気株式会社) 匿名化装置、及び、匿名化方法(特徴:個人属性の粗分類化による秘匿)(6) Patent 6015658 (2016 NEC Corporation) Anonymization device and anonymization method (Characteristics: Concealment by rough classification of personal attributes) (7) 特許6007969(2016年 日本電気株式会社) 匿名化装置及び匿名化方法(特徴:複数あるデータ提供元が特定されないように粗分類化)(7) Patent 6007969 (2016 NEC Corporation) Anonymization device and anonymization method (Feature: Coarse classification so that multiple data providers are not specified) (8)特許5974858(2016年 富士通株式会社) 匿名化処理方法及び装置(特徴:データブロックの距離計算による粗分類化)(8) Patent 5974858 (2016 Fujitsu Limited) Anonymization processing method and equipment (Feature: Rough classification by distance calculation of data blocks) (9)特許5875536(2016年 日本電信電話株式会社) 匿名化装置、匿名化方法、プログラム(特徴:文字列の遷移確率行列を用いた秘匿(粗分類化))(9) Patent 5875536 (Nippon Telegraph and Telephone Corporation, 2016) Anonymization device, anonymization method, program (Feature: Concealment using transition probability matrix of character strings (coarse classification)) (10)特許5875535(2016年 日本電信電話株式会社) 匿名化装置、匿名化方法、プログラム(特徴:文字列の遷移確率またはハミング距離を用いた秘匿(粗分類化))(10) Patent 5875535 (2016 Nippon Telegraph and Telephone Corporation) Anonymization device, anonymization method, program (Features: Concealment using character string transition probability or Hamming distance (coarse classification)) (11)特許5858292(2016年 日本電気株式会社) 匿名化装置及び匿名化方法(特徴:レコードを汎化(粗分類化)して追加する場合に、基データの一部にも同じ汎化規則を適用)(11) Patent 5858292 (2016 NEC Corporation) Anonymization device and anonymization method (Feature: When a record is generalized (coarsely classified) and added, the same generalization rule is applied to a part of the basic data. Apply) (12)特許5782637(2015年 西日本電信電話株式会社) 属性選択装置、情報匿名化装置、属性選択方法、情報匿名化方法、属性選択プログラム、及び情報匿名化プログラム(特徴:一般化属性の出現率と残存率による選択と粗分類化によるk匿名化)(12) Patent 5782637 (2015 West Nippon Telegraph and Telephone Corporation) Attribute selection device, information anonymization device, attribute selection method, information anonymization method, attribute selection program, and information anonymization program (Feature: Appearance rate of generalized attributes) (Selection by survival rate and k-anonymization by rough classification) (13)特許5684165(2015年 株式会社日立製作所) 個人情報匿名化装置および方法(特徴:多肢選択属性の個人情報の一般化階層木による抽象化(粗分類化))(13) Patent 5684165 (Hitachi, Ltd., 2015) Personal information anonymization device and method (Feature: Generalization of personal information with multiple selection attributes Abstraction by hierarchical tree (coarse classification)) (14)特許5626733(2014年 株式会社日立製作所) 個人情報匿名化装置及び方法(特徴:一般化階層木により匿名化したデータの増分レコードを匿名化)(14) Patent 5626733 (2014, Hitachi, Ltd.) Personal information anonymization device and method (Feature: Anonymization of incremental records of data anonymized by generalized hierarchy tree) (15)特許5492296(2014年 株式会社日立製作所) 個人情報匿名化装置(特徴:個人情報の一般化階層木による抽象化(粗分類化))(15) Patent 5492296 (2014, Hitachi, Ltd.) Personal information anonymization device (Feature: Generalization of personal information Abstraction by hierarchical tree (coarse classification)) (16)特許5416614(2014年 KDDI株式会社) 公開情報のプライバシー保護装置、公開情報のプライバシー保護方法およびプログラム(特徴:一般化(粗分類化)によるレコード流量nを考慮した(k+n)匿名化)(16) Patent 5416614 (2014 KDDI Co., Ltd.) Public information privacy protection device, public information privacy protection method and program (Characteristics: Considering record flow n by generalization (coarse classification) (k + n) Anonymous ) (17)特許5288066(2013年 日本電気株式会社) 匿名化装置(特徴:汎化(粗分類化)による特異グループについて、他グループの一部を加えて汎化処理)(17) Patent 5288066 (2013 NEC Corporation) Anonymization device (Characteristics: Generalization processing by adding a part of other groups to the singular group by generalization (coarse classification)) (18)特許5282121(2013年 エヌイーシー(チャイナ)カンパニー,リミテッド) データ匿名化の方法と装置(特徴:2レコード間の距離計算を行い、一般化及び削除によるk匿名化)(18) Patent 5292121 (2013 NEC (China) Company, Limited) Data anonymization method and device (Features: K-anonymization by generalization and deletion by calculating the distance between two records) (19)特許6002712(2016年 日本電信電話株式会社) 情報処理システム、情報処理方法、及びプログラム(特徴:ダミーデータによるデータベースの匿名化)(19) Patent 6002712 (2016 Nippon Telegraph and Telephone Corporation) Information processing system, information processing method, and program (Feature: Anonymization of database with dummy data) (20)特許5983611(2016年 日本電気株式会社) 匿名化装置、匿名化方法、及びそのためのプログラムを記録した記録媒体(特徴:匿名性が閾値を満たすように改変した不正確な解析結果を出力)(20) Patent 5986311 (2016 NEC Corporation) Anonymization device, anonymization method, and a recording medium recording a program for that purpose (Feature: Outputs inaccurate analysis results modified so that anonymity satisfies the threshold value. ) (21)特許5962472(2016年 富士通株式会社) 匿名化データ生成方法、装置及びプログラム(特徴:直近データブロックを結ぶ線分上の点を乱数選択)(21) Patent 5962472 (Fujitsu Limited, 2016) Anonymized data generation method, device and program (Feature: Random number selection of points on the line segment connecting the latest data blocks) (22) 特許6015777(2016年 富士通株式会社) 秘匿化データ生成方法及び装置(特徴:データブロック内レコードの水増しによるL多様性秘匿)(22) Patent 6015777 (2016 Fujitsu Limited) Concealed data generation method and equipment (Feature: L-diversity concealment by padding records in data blocks) (23) 特許6009698(2016年 日本電信電話株式会社) 秘密計算方法、秘密計算システム、ランダム置換装置及びプログラム(特徴:乱数により暗号化したデータを分散して秘密計算)(23) Patent 6009698 (2016 Nippon Telegraph and Telephone Corporation) Secret calculation method, secret calculation system, random permutation device and program (Characteristics: Secret calculation by distributing data encrypted by random numbers) (24)特許6000175(2016年 日本電信電話株式会社) 匿名化システム、匿名化装置、利用者装置、匿名化方法、およびプログラム(特徴:固体情報を複数に分割し、変換、置換、削除等によるPk匿名化処理)(24) Patent 6000175 (2016 Nippon Telegraph and Telephone Corporation) Anonymization system, anonymization device, user device, anonymization method, and program (Features: Individual information is divided into multiple parts, converted, replaced, deleted, etc.) Pk anonymization process) (25)特許5979004(2016年 日本電気株式会社) 情報処理システム及び匿名化方法(特徴:汎化、切落し、分離、置換、摂動等の処理順序を匿名化ポリシーに従って選択)(25) Patent 5979004 (2016 NEC Corporation) Information processing system and anonymization method (Features: Select the processing order of generalization, cutoff, separation, replacement, perturbation, etc. according to the anonymization policy) (26)特許5758315(2015年 日本電信電話株式会社) 匿名データ提供システム、匿名データ装置、及びそれらが実行する方法(特徴:削除、置換、乱数撹乱等により匿名化したデータをフィールドごとに分割して秘密計算)(26) Patent 5758315 (2015 Nippon Telegraph and Telephone Corporation) Anonymous data provision system, anonymous data device, and the method they execute (Features: Anonymized data by deletion, replacement, random number disturbance, etc. is divided into fields. Secret calculation) (27)特許5670366(2015年 日本電信電話株式会社) 匿名データ提供システム、匿名データ装置、それらが実行する方法、およびプログラム(特徴:削除、置換、乱数撹乱等により匿名化したデータをフィールドごとに分割して秘密計算(空集合を含む))(27) Patent 5670366 (2015 Nippon Telegraph and Telephone Corporation) Anonymous data provision system, anonymous data device, method of execution, and program (features: data anonymized by deletion, replacement, random number disturbance, etc.) for each field Divide and secret calculation (including empty set))

3.5.2 非特許文献特許以外の関連文献は多数あるが、特に以下を挙げる。(1) 個人特定のリスクを低減させる匿名化技術(2016年、千田、オペレーションズ・リサーチVol.61 No.5)35.2 Non-patent documents There are many related documents other than patents, but the following are particularly mentioned. (1) Anonymization technology to reduce personal identification risk (2016, Senda, Operations Research Vol.61 No.5) (2) ミクロデータにおける匿名化技法の適用可能性の検証―全国消費実態調査と家計調査を用いて―(2014年、伊藤、村田、高野、統計研究彙報第71号)(2) Verification of applicability of anonymization technique in micro data-using national consumption survey and household survey- (2014, Ito, Murata, Takano, Statistical Research Dictionary No. 71) (3) 集計表におけるセル秘匿問題とその研究動向(2003年、瀧、統計数理(2003)第51巻第2号)(3) Cell concealment problem in summary table and its research trend (2003, Taki, Statistical Mathematics (2003) Vol. 51, No. 2)

4.発明の概要
個票データについてプライバシー保護のための匿名化を行うための既存手法は、安全性の確保と集計結果の再現性の維持を両立する技術が十分に確立されておらず、安全性を確保できても分布に歪みやノイズを生じるため、集計すると基の個票データと同等の分布の度数表を得ることができないなどの問題がある。本発明は基の個票データについてプライバシー保護の観点から安全性を確保しつつ、基の個票データを集計して得られる秘匿度数表の再現性を維持することができる、個票形式の匿名化データを作成するための手段を提供することを課題とする。
4. Outline of the Invention The existing method for anonymizing individual data for privacy protection has not been sufficiently established as a technique for ensuring safety and maintaining reproducibility of aggregated results. Even if it can be secured, distortion and noise will occur in the distribution, so there is a problem that it is not possible to obtain a frequency table with a distribution equivalent to the original individual data when aggregated. The present invention can maintain the reproducibility of the confidentiality frequency table obtained by aggregating the basic individual data while ensuring the safety of the basic individual data from the viewpoint of privacy protection. The task is to provide a means for creating the conversion data.

本発明は、個票データについて多次元クロス度数表を集計して秘匿処理を行った上で、総数と内訳合計の差分計算を行い、多次元秘匿度数表の再現性を維持したまま個票データ形式に変換することで、匿名化した個票データを作成する手段を用いている。
本発明による個票データの匿名化手法は、個票データと多次元クロス度数表について、個票データから多次元クロス度数表の集計処理と、多次元クロス度数表から個票形式データへの変換処理を可逆的に行うことで、多次元クロス度数表の秘匿処理を匿名化データに反映させると共に、匿名化データを集計して得られる度数表について多次元クロス秘匿度数表の再現性を維持することを可能とする。
In the present invention, the multidimensional cross frequency table is aggregated and concealed for the individual data, and then the difference between the total number and the total breakdown is calculated, and the individual data is maintained while maintaining the reproducibility of the multidimensional concealment frequency table. By converting to a format, a means of creating anonymized individual form data is used.
The method for anonymizing individual form data according to the present invention is to aggregate the individual form data to the multidimensional cross frequency table and convert the multidimensional cross frequency table to the individual form data for the individual form data and the multidimensional cross frequency table. By performing the processing reversibly, the concealment processing of the multidimensional cross concealment frequency table is reflected in the anonymized data, and the reproducibility of the multidimensional cross concealment frequency table is maintained for the frequency table obtained by aggregating the anonymized data. Make it possible.

5.匿名化装置
匿名化装置は、市販のパーソナルコンピュータ(以下、PCという。)に匿名化処理プログラムをインストールし、入力データと出力データを保存する記憶装置を接続して構成する。プログラムのインストールは電子媒体を介して行うが、インストールの方法はインターネット等のネットワーク経由でもPCへのプレインストールの方法でもよい。
利用者は、PCにインストールされた実行形式ファイルのプログラムを実行することで装置を起動し、実行画面のメニューから入力データとしてPCに接続された記憶媒体上の個票データのファイル名を指定し、安全基準(K)、丸め基数(B)、及び変換縮尺(R)等のパラメータを指定して処理を実行し、作成した匿名化データのファイル名を指定して出力データとして保存する(図1)。
なお、多次元クロス度数表の秘匿手法については、実施形態として消去秘匿及び丸め秘匿を用いているが、度数表の秘匿手法は多様に存在することから、度数表について属性別の内訳合計と総数の差分計算を行うことができる手法であれば、どのような秘匿手法を用いてもよい。
5. Anonymization device An anonymization device is configured by installing an anonymization processing program on a commercially available personal computer (hereinafter referred to as a PC) and connecting a storage device that stores input data and output data. The program is installed via electronic media, but the installation method may be via a network such as the Internet or pre-installed on a PC.
The user starts the device by executing the program of the executable file installed on the PC, and specifies the file name of the individual data on the storage medium connected to the PC as input data from the menu of the execution screen. , Safety standard (K), rounding base (B), conversion scale (R), etc. are specified to execute the process, and the file name of the created anonymized data is specified and saved as output data (Fig.) 1).
As for the concealment method of the multidimensional cross frequency table, erasure concealment and round concealment are used as embodiments, but since there are various concealment methods of the frequency table, the total breakdown and total number of frequency tables by attribute. Any concealment method may be used as long as it is a method capable of performing the difference calculation of.

6.匿名化処理プログラム
個票データの秘匿処理を行うための匿名化処理プログラムは、(1)多次元度数表集計処理部、及び(2)秘匿変換処理部を構成する各プログラムにより構成する(図2)。
多次元度数表集計処理部は、個票データを入力データとし、(1)多次元クロス度数表集計プログラムにより構成する(図3.1)。秘匿変換処理部は、多次元クロス度数表を入力データとし、(2)消去秘匿、(3)丸め秘匿、(4)差分計算、及び(5)個票形式変換の各プログラムにより構成する(図3.2)。
(1)多次元度数表集計処理部については、個票データを入力データとして用いて多次元度数表を集計することから、外部アクセスから遮断された閉鎖環境で利用することを想定している。(2)秘匿変換処理部については秘匿処理を行う機能と度数表を個票形式に変換する機能を有しており、多次元度数表の秘匿処理については閉鎖環境で行う必要がある。ただし、秘匿処理後の秘匿度数表を入力データとして個票データ形式に変換する場合は、外部アクセスが可能な解放環境で利用する可能性を視野に入れた設計としている。プログラム作成については、どのようなプログラミング言語を用いてもよい。
6. Anonymization processing program The anonymization processing program for concealing individual data is composed of (1) a multidimensional frequency table aggregation processing unit and (2) each program constituting the concealment conversion processing unit (Fig. 2). ).
The multidimensional frequency table aggregation processing unit uses individual data as input data and is configured by (1) a multidimensional cross frequency table aggregation program (Fig. 3.1). The concealment conversion processing unit uses a multidimensional cross frequency table as input data, and is composed of (2) erasure concealment, (3) rounding concealment, (4) difference calculation, and (5) individual form conversion programs (Fig.). 3.2).
(1) The multidimensional frequency table aggregation processing unit aggregates the multidimensional frequency table using individual data as input data, so it is assumed that it will be used in a closed environment blocked from external access. (2) The concealment conversion processing unit has a function to perform concealment processing and a function to convert the frequency table into individual form, and it is necessary to perform the concealment processing of the multidimensional frequency table in a closed environment. However, when converting the concealment frequency table after concealment processing into individual data format as input data, the design is made with a view to the possibility of using it in an open environment where external access is possible. Any programming language may be used for program creation.

6.1多次元クロス度数表集計プログラム
多次元クロス度数表集計プログラムは、属性フィールドの全ての組合わせごとに内訳合計の計算処理を行う。計算方法としては、合計キーを付与したデータを基データに結合し、属性キーで並び替えを行った上で、同一属性ごとに度数及び加重度数の合算を行う方法を用いて、再帰計算により全組合わせ別の合計計算処理を行う(図4.1)。
(1) 前処理
下記の前処理を行う。
・処理対象とする属性項目フィールドを選択
・不要なフィールドを除去
・フィールドに加重度数(Weight)が無い場合は加重度数(Weight)フィールドを追加し、各レコードの値を1にセット
・度数(Freauency)フィールドを追加して、各レコードの値を1にセット
(2) フィールド番号j = 0
指定したフィールドについて、カウンターjの初期化を行う。
(3) 処理フィールドj = j+1
処理対象となる指定フィールドをカウンターjによりカウントする。
(4) 全レコードコピーD1
入力ファイルの全レコードをコピーしてファイルD1として出力する。
(5) レコード番号i = 0
入力レコードのカウンターiについて初期化を行う。
(6) レコード読込
個票データのレコード読込を行う。
(7) i = i + 1
処理対象となるレコードをカウンターiによりカウントする。
(8) 属性j番目分類=”~”
処理対象となるレコードについて、属性j番目の属性を合計符号”~”に置き換える。
(9) 最終レコード?
全レコードについて処理が完了したか判定を行う。
Yes ⇒処理(6)
No ⇒処理(10)
(10) 結合D1+全レコード
属性i番目について処理済の全レコードをファイルD1に結合する。
(11) クロス属性並び替え
結合ファイルについて、属性別に並び替えを行う。
(12) 属性別度数合算
属性項目の同一組合せごとに度数(Frequency)の合算処理を行う。
(13) 属性別加重度数合算
属性項目の同一組合せごとに加重度数(Weight)の合算処理を行う。
(14) 処理対象データ置換
再帰計算を行うために、処理対象データを処理済データに置き換える。
(15) 最終フィールド?
全フィールドについて処理が完了したか判定を行う。
Yes ⇒終了
No ⇒処理(3)
6.1 Multidimensional cross frequency table tabulation program The multidimensional cross frequency table tabulation program calculates the total breakdown for each combination of attribute fields. As a calculation method, the data with the total key is combined with the base data, sorted by the attribute key, and then the frequency and weighted frequency are added up for each same attribute, and all are calculated recursively. The total calculation process for each combination is performed (Fig. 4.1).
(1) Pretreatment Perform the following pretreatment.
-Select the attribute item field to be processed-Remove unnecessary fields-If the field does not have a weight (Weight), add a weight (Weight) field and set the value of each record to 1-Freauency ) Add a field and set the value of each record to 1
(2) Field number j = 0
Initializes the counter j for the specified field.
(3) Processing field j = j + 1
The designated field to be processed is counted by the counter j.
(4) All record copy D1
Copy all records in the input file and output as file D1.
(5) Record number i = 0
Initialize the counter i of the input record.
(6) Record reading Read the record of individual data.
(7) i = i + 1
The record to be processed is counted by the counter i.
(8) Attribute jth classification = ”~”
For the record to be processed, the j-th attribute is replaced with the total code "~".
(9) Last record?
Judge whether the processing is completed for all records.
Yes ⇒ Processing (6)
No ⇒ processing (10)
(10) Combine D1 + All records Combine all the processed records for the i-th attribute into the file D1.
(11) Cross-attribute sorting Sort the combined files by attribute.
(12) Frequency summing by attribute Performs frequency summing processing for each same combination of attribute items.
(13) Addition of weighted frequencies by attribute The weighted frequencies (Weight) are added up for each same combination of attribute items.
(14) Substitution of data to be processed Replace the data to be processed with processed data in order to perform recursive calculation.
(15) Final field?
Judge whether the processing is completed for all fields.
Yes ⇒ end
No ⇒ processing (3)

6.2消去秘匿プログラム
消去秘匿プログラムは、属性項目の組合わせごとに分類符号を付与して分類符号ごとの最小度数の検査を行い、最小度数が安全基準Kに満たない場合は、その属性項目組合わせのレコードについて内訳をゼロ値に置き換えることで多次元クロス度数表の消去秘匿処理を行う(図4.2)。
6.2 Erasing concealment program The erasing concealment program assigns a classification code to each combination of attribute items and inspects the minimum frequency for each classification code. If the minimum frequency does not meet the safety standard K, the attribute item By replacing the breakdown of the combined records with zero values, the multidimensional cross frequency table is erased and concealed (Fig. 4.2).

属性組合わせ符号付与(2A)
(1)レコード番号i=0
レコード番号のカウンタiを初期化する。
(2)レコード読込
対象ファイルについて、属性項目(F1〜Fj)、加重度数(Weight)、度数(Frequency)をレコード読込。
(3) i = i + 1
カウンタiを+1増分する。
(4)属性番号j=0
属性番号jを初期化する。
(5) j = j + 1
属性番号jを+1増分する。
(6)番号j 分類”~”?
属性番号jのフィールドについて、分類=”~”かどうかを判定する。
Yes ⇒処理(8)
No ⇒処理(7)
(7)符号F0 j桁目=”0”
分類符号F0のj桁目を”0”に設定する。
(8)符号F0 j桁目=”~”
分類符号F0のj桁目を”~”に設定する。
(9)j番全属性?
属性番号jについて、全て処理したか判定する。
Yes ⇒処理(9)
No ⇒処理(5)
(10)レコード出力
分類符号F0、属性項目(F1〜Fj)、加重度数(Weight)、度数(Frequency)をレコード出力。
(11)全レコード?
全レコードについて、処理が完了したか判定する。
Yes ⇒処理(12)
No ⇒処理(2)
(12)符号F0順 並び替え
分類符号F0でレコードを並び替える。
Attribute combination code assignment (2A)
(1) Record number i = 0
Initialize the record number counter i.
(2) Record reading For the target file, record reading of attribute items (F1 to Fj), weighted frequency (Weight), and frequency (Frequency).
(3) i = i + 1
The counter i is incremented by +1.
(4) Attribute number j = 0
Initialize the attribute number j.
(5) j = j + 1
Attribute number j is incremented by +1.
(6) Number j Classification "~"?
It is determined whether or not the classification = "~" for the field of attribute number j.
Yes ⇒ Processing (8)
No ⇒ processing (7)
(7) Sign F0 jth digit = ”0”
Set the jth digit of the classification code F0 to "0".
(8) Code F0 jth digit = ”~”
Set the jth digit of the classification code F0 to "~".
(9) No. j All attributes?
It is determined whether all the attribute numbers j have been processed.
Yes ⇒ Processing (9)
No ⇒ processing (5)
(10) Record output Record output of classification code F0, attribute items (F1 to Fj), weighted frequency (Weight), and frequency (Frequency).
(11) All records?
For all records, it is determined whether the processing is completed.
Yes ⇒ Processing (12)
No ⇒ processing (2)
(12) Sort by code F0 Sort records by classification code F0.

組合わせ別最小度数検査(2B)
(13)レコード読込
分類符号F0、属性項目(F1〜Fj)、度数(Frequency)についてレコード読込
(14) Key = F0
分類符号F0をKeyに代入
(15)最小度数=度数
最小度数に度数(Frequency)を代入
(16)レコード読込
分類符号F0、属性項目(F1〜Fj)、度数(Frequency)についてレコード読込
(17) Key = F0?
分類符号F0とKeyの一致判定
Yes ⇒処理(20)
No ⇒処理(18)
(18) Key,最小度数出力
Keyと最小度数をレコード出力
(19) Key = F0
分類符号F0をKeyに代入
(20)度数>最小?
度数>最小度数の大小判定
Yes ⇒処理(22)
No ⇒処理(21)
(21)最小度数=度数
最小度数に度数(Frequency)を代入
(22)最終レコード?
全レコードの終了判定
Yes ⇒処理(23)
No ⇒処理(16)
(23) Key,最小度数出力
Keyと最小度数をレコード出力
Minimum frequency inspection by combination (2B)
(13) Record reading Record reading for classification code F0, attribute items (F1 to Fj), and frequency (Frequency)
(14) Key = F0
Substitute classification code F0 for Key
(15) Minimum frequency = frequency Substitute frequency for the minimum frequency
(16) Record reading Record reading for classification code F0, attribute items (F1 to Fj), and frequency (Frequency)
(17) Key = F0?
Match judgment of classification code F0 and Key
Yes ⇒ Processing (20)
No ⇒ processing (18)
(18) Key, minimum frequency output
Record output of Key and minimum frequency
(19) Key = F0
Substitute classification code F0 for Key
(20) Frequency> Minimum?
Frequency> Minimum frequency judgment
Yes ⇒ Processing (22)
No ⇒ processing (21)
(21) Minimum frequency = frequency Substitute frequency (Frequency) for the minimum frequency
(22) Last record?
End judgment of all records
Yes ⇒ Processing (23)
No ⇒ processing (16)
(23) Key, minimum frequency output
Record output of Key and minimum frequency

リスク表内訳消去(2C)
(24)基準値K設定
最小度数の基準値Kの設定
(25)レコード読込
分類符号F0、属性項目(F1〜Fj)、加重度数(Weight)、度数(Frequency)をレコード読込
(26) Key = F0
KeyにF0を代入
(27)F0最小度数読込
分類符号F0をKeyとする最小度数読込
(28)度数>最小?
度数(Frequency)>最小度数の判定
Yes ⇒処理(30)
No ⇒処理(29)
(29)度数=0
度数(Frequency)に0を代入
(30)レコード出力
分類符号F0、属性項目(F1〜Fj)、加重度数(Weight)、度数(Frequency)をレコード出力
(31)レコード読込
分類符号F0、属性項目(F1〜Fj)、加重度数(Weight)、度数(Frequency)をレコード読込
(32) Key = F0?
Key = F0の判定
Yes ⇒処理(35)
No ⇒処理(33)
(33)F0最小度数読込
分類符号F0をKeyとする最小度数読込
(34) Key = F0
KeyにF0を代入
(35)度数>最小?
度数(Frequency)>最小度数の判定
Yes ⇒処理(37)
No ⇒処理(36)
(36)度数=0
度数(Frequency)に0を代入
(37)レコード出力
分類符号F0、属性項目(F1〜Fj)、加重度数(Weight)、度数(Frequency)をレコード出力
(38)最終レコード?
最終レコードの判定
Yes ⇒終了
No ⇒処理(31)
Elimination of risk table breakdown (2C)
(24) Reference value K setting Setting of the minimum frequency reference value K
(25) Record reading Classification code F0, attribute items (F1 to Fj), weighted frequency (Weight), frequency (Frequency) are read into records.
(26) Key = F0
Substitute F0 for Key
(27) Read the minimum frequency of F0 Read the minimum frequency with the classification code F0 as the key.
(28) Frequency> Minimum?
Frequency> Judgment of minimum frequency
Yes ⇒ Processing (30)
No ⇒ processing (29)
(29) Frequency = 0
Substitute 0 for Frequency
(30) Record output Record output of classification code F0, attribute items (F1 to Fj), weighted frequency (Weight), and frequency (Frequency)
(31) Record reading Classification code F0, attribute items (F1 to Fj), weighted frequency (Weight), frequency (Frequency) are read into records.
(32) Key = F0?
Judgment of Key = F0
Yes ⇒ Processing (35)
No ⇒ processing (33)
(33) Read the minimum frequency of F0 Read the minimum frequency with the classification code F0 as the key.
(34) Key = F0
Substitute F0 for Key
(35) Frequency> Minimum?
Frequency> Judgment of minimum frequency
Yes ⇒ Processing (37)
No ⇒ processing (36)
(36) Frequency = 0
Substitute 0 for Frequency
(37) Record output Record output of classification code F0, attribute items (F1 to Fj), weighted frequency (Weight), and frequency (Frequency)
(38) Last record?
Judgment of the last record
Yes ⇒ end
No ⇒ processing (31)

6.3丸め秘匿プログラム
丸め秘匿プログラムは、消去秘匿処理済みの多次元クロス度数表について、丸め基数Bで除算して小数点以下を四捨五入することにより度数及び加重度数の丸め処理を行い、度数表の秘匿を補強する(図4.3)。
6.3 Rounding concealment program The rounding concealment program rounds the frequency and weighted frequency table by dividing the multidimensional cross frequency table that has been erased concealed by the rounding radix B and rounding off to the nearest whole number. Reinforce concealment (Fig. 4.3).

丸め秘匿
(1)基数B設定
丸め基数B値を設定
(2)レコード読込
丸め処理対象データのレコード読込
(3)度数基数B丸め
度数(Frequency)を基数B値で丸め処理
計算式:Frequency = Int(Frequency / B ) * B
関数Int() は整数値計算
(4)加重度数基数B丸め
加重度数(Weight)を基数B値で丸め処理
計算式:Weight = Int(Weight / (Sum(Weight) / Sum(B))) * (Sum(Weight) / Sum(B))
関数Int() は整数値計算
関数Sum() は全レコードの合計値計算
(5)レコード出力
属性項目、加重度数(Weight)、度数(Frequency)のレコード出力
(6)最終レコード?
最終レコードの判定
Yes ⇒終了
No ⇒処理(2)
Rounding concealment
(1) Set radix B Set rounding radix B value
(2) Read record Read the record of the data to be rounded
(3) Frequency base B rounding Frequency (Frequency) is rounded by the base B value Calculation formula: Frequency = Int (Frequency / B) * B
The function Int () calculates integer values
(4) Weighted radix radix B rounding Weighted radix (Weight) is rounded by radix B value Calculation formula: Weight = Int (Weight / (Sum (Weight) / Sum (B))) * (Sum (Weight) / Sum ( B))
The function Int () calculates the integer value. The function Sum () calculates the sum of all records.
(5) Record output Record output of attribute items, weight (Weight), and frequency (Frequency)
(6) Last record?
Judgment of the last record
Yes ⇒ end
No ⇒ processing (2)

6.4差分計算プログラム
差分計算プログラムは、内訳合計と総数の差分計算を行う。差分計算は、度数表集計の逆処理を行う方法で計算し、属性項目の組合わせごとの内訳について正負の符号を反転させて合計と合算していくことで、全ての属性項目の組合わせごとの差分計算を再帰計算により行う。正負を反転させた内訳は、属性フィールドを合計符号“〜”に置き換えて、基の度数表データと結合し、属性項目別に並び替えを行った上で、同一属性キーごとに度数及び加重度数の合算を行うことで差分を計算する(図4.4)。
6.4 Difference calculation program The difference calculation program calculates the difference between the total breakdown and the total number. The difference calculation is calculated by the method of performing the reverse processing of the frequency table aggregation, and by reversing the positive and negative signs for each combination of attribute items and adding them to the total, each combination of attribute items The difference calculation of is performed by recursive calculation. For the breakdown of inverted positive and negative, replace the attribute field with the total code "~", combine it with the frequency table data of the base, sort by attribute item, and then divide the frequency and weighted frequency for each same attribute key. The difference is calculated by adding up (Fig. 4.4).

差分計算
(1)フィールド番号j = 0
フィールド番号jの初期化
(2) j = j + 1
フィールド番号jの+1増分
(3)対象データ コピーC1
入力データをC1にコピー
(4)レコード番号i = 0
レコード番号iの初期化
(5)レコード読込
属性項目(F1〜Fj)、加重度数(Weight)、度数(Frequnecy)のレコード読込
(6) i = i + 1
レコード番号iの+1増分
(7)番号j分類=”~”?
フィールド番号jの属性項目について、合計符号判定
Yes ⇒処理(12)
No ⇒処理(8)
(8)属性j分類=”~”
フィールド番号jの属性項目を合計符号”~”に置き換え
(9)度数 正負反転
度数(Frequency)の値を正負反転
(10)加重度数 正負反転
加重度数(Weight)の値を正負反転
(11)レコード出力D1
属性項目(F1〜Fj)、加重度数(Weight)、度数(Frequnecy)のレコード出力
(12)最終レコード?
最終レコードの判定
Yes ⇒処理(13)
No ⇒処理(5)
(13)結合 C1+D1
出力データC1とD1の結合
(14)属性項目別並び替え
結合データの属性項目別並び替え
(15)属性別度数合算
属性項目別度数の合算
(16)属性別加重度数合算
属性項目別加重度数の合算
(17)対象データ置換
対象データを結合データで置換
(18)最終フィールド?
最終フィールドの判定
Yes ⇒終了
No ⇒処理(2)
Difference calculation
(1) Field number j = 0
Initialization of field number j
(2) j = j + 1
+1 increment of field number j
(3) Target data copy C1
Copy input data to C1
(4) Record number i = 0
Initialization of record number i
(5) Record reading Attribute item (F1 to Fj), weighted frequency (Weight), frequency (Frequnecy) record reading
(6) i = i + 1
+1 increment of record number i
(7) Number j classification = ”~”?
Total code judgment for the attribute item of field number j
Yes ⇒ Processing (12)
No ⇒ processing (8)
(8) Attribute j classification = ”~”
Replace the attribute item of field number j with the total code "~"
(9) Positive / negative inversion of frequency Positive / negative inversion of frequency value
(10) Positive / negative inversion of weighted frequency Positive / negative inversion of the weighted frequency (Weight) value
(11) Record output D1
Record output of attribute items (F1 to Fj), weighted frequency (Weight), frequency (Frequnecy)
(12) Last record?
Judgment of the last record
Yes ⇒ Processing (13)
No ⇒ processing (5)
(13) Bond C1 + D1
Combining output data C1 and D1
(14) Sorting by attribute item Sorting by attribute item of combined data
(15) Total frequency by attribute item Total frequency by attribute item
(16) Addition of weighted frequencies by attribute Item Addition of weighted frequencies by attribute item
(17) Target data replacement Replace the target data with the combined data
(18) Final field?
Final field judgment
Yes ⇒ end
No ⇒ processing (2)

6.5個票形式変換プログラム
個票形式変換プログラムは、差分計算を行った度数表の内訳と差分について、縮尺Rで度数または加重度数を除算して整数化した値を出力レコード数とし、度数または加重度数を出力レコード数で除算した値をウェイトとして、属性ごとにレコード出力を行う(図4.5)。
6.5 Individual form conversion program The individual form conversion program uses the number of output records as the number of output records by dividing the frequency or weighted frequency by the scale R and converting the breakdown and difference of the frequency table for which the difference is calculated into an integer. Alternatively, record output is performed for each attribute with the value obtained by dividing the weighted frequency by the number of output records as a weight (Fig. 4.5).

個票形式変換
(1)縮尺R設定
度数ベースか加重度数ベースかを選択して縮尺Rを設定
(2)レコード読込
属性項目(F1〜Fj)、加重度数(Weight)、度数(Frequency)のレコード読込
(3)属性”~” NULL置換
レコードの属性項目が”~”のフィールドをNULLに置換
(4)出力数n=Int(度数/R)
出力数nの計算
度数ベースの場合 :n=Int(Frequency / R)
加重度数ベースの場合:n=Int(Weight / R)
関数Int()は整数値計算
(5)n>1?
n>1の判定
Yes ⇒処理(7)
No ⇒処理(6)
(6)出力数n= 1
n= 1を設定
(7)レコード番号j = 0
レコード番号jの初期化
(8) j = j + 1
レコード番号jの+1増分
(9)ウェイトW = Weight / J
出力ウェイトWの計算
計算式:W = Weight / J
(10)レコード出力
属性項目(F1〜Fj)、出力ウェイト(Weight=W)のレコード出力
(11) j = n?
レコード番号j>nの判定
Yes ⇒処理(12)
No ⇒処理(8)
(12)最終レコード?
最終レコードの判定
Yes ⇒終了
No ⇒処理(2)
Individual form conversion
(1) Scale R setting Set the scale R by selecting whether it is frequency-based or weighted frequency-based.
(2) Record reading Attribute item (F1 to Fj), weighted frequency (Weight), frequency (Frequency) record reading
(3) Attribute "~" NULL replacement Replace the field whose attribute item of the record is "~" with NULL.
(4) Number of outputs n = Int (frequency / R)
Calculation of output number n Based on frequency: n = Int (Frequency / R)
Based on weighted frequency: n = Int (Weight / R)
The function Int () calculates integer values
(5) n> 1?
Judgment of n> 1
Yes ⇒ Processing (7)
No ⇒ processing (6)
(6) Number of outputs n = 1
Set n = 1
(7) Record number j = 0
Initialization of record number j
(8) j = j + 1
+1 increment of record number j
(9) Weight W = Weight / J
Calculation of output weight W Calculation formula: W = Weight / J
(10) Record output Record output of attribute items (F1 to Fj) and output weight (Weight = W)
(11) j = n?
Judgment of record number j> n
Yes ⇒ Processing (12)
No ⇒ processing (8)
(12) Last record?
Judgment of the last record
Yes ⇒ end
No ⇒ processing (2)

7.個票データの匿名化手法
個票データの匿名化手法について、本発明における実施形態の1つとして(1)基データの前処理、(2)多次元度数表集計、(3)全項目組合わせ検査及びリスク表の内訳消去、(4)多次元度数表の丸め処理による秘匿補強、(5)多次元度数表の個票データ形式変換の順に処理を行う。
7. Individual data anonymization method Regarding the individual data anonymization method, as one of the embodiments in the present invention, (1) preprocessing of basic data, (2) multidimensional frequency table aggregation, and (3) all-item combination The processing is performed in the order of inspection and elimination of the breakdown of the risk table, (4) confidentiality reinforcement by rounding the multidimensional frequency table, and (5) conversion of the individual data format of the multidimensional frequency table.

7.1 基データの前処理
入力に用いる個票データは、統計調査やアンケート調査等の調査票の内容を入力した男女、年齢、世帯類型等の個人属性や世帯属性の項目から成る。氏名や個人番号、世帯番号等の識別情報が含まれている場合には前処理としてあらかじめその情報を削除しておく必要がある。
7.1 Preprocessing of basic data The individual data used for input consists of personal attributes such as gender, age, and household type, and household attributes for which the contents of questionnaires such as statistical surveys and questionnaire surveys are entered. If identification information such as name, personal number, household number, etc. is included, it is necessary to delete the information in advance as preprocessing.

個票データのファイルはどのような形式でもよいが、本発明の装置では簡便のためCSV(コンマ区切り)形式のファイルを用いている。データの先頭行はフィールド名とし、2行目以降を個人あるいは世帯ごとの分類符号や分類ラベルのデータとする。フィールド名については、最終項目をWeightフィールドとし、標本調査の場合は復元ウェイト、全数調査の場合はWeightを1とする。Weightフィールドがない場合はWeightを1と見なして処理を行う。前処理としては、ファイル読込みと丸め基数等のパラメータ設定を行う。また、Weightフィールドの後に1レコードを1度数とするFrequencyフィールドを設定し、単純度数の集計に用いる。 The individual data file may be in any format, but the apparatus of the present invention uses a CSV (comma-separated value) format file for convenience. The first line of the data is the field name, and the second and subsequent lines are the classification code and classification label data for each individual or household. For the field name, the final item is the Weight field, the restoration weight is set to 1 in the case of sample survey, and the weight is set to 1 in the case of 100% survey. If there is no Weight field, Weight is regarded as 1 and processing is performed. As preprocessing, parameters such as file reading and rounding radix are set. In addition, a Frequency field with one record as one frequency is set after the Weight field, and is used for totaling simple frequencies.

例)CSV形式の個票データ
F1 Gender, F2 Age, Weight, Frequency
a)男, a)20〜29歳, 1, 1
a)男, b)30〜39歳, 1, 1
b)女, d)50〜59歳, 1, 1
b)女, e)60〜69歳, 1, 1
a)男, c)40〜49歳, 1, 1
(以下省略)

Gender:性別、Age:年齢階級、Weight:復元ウェイト、Frequency:単純度数
Example) CSV format individual data
F1 Gender, F2 Age, Weight, Frequency
a) man, a) 20-29 years old, 1, 1
a) man, b) 30-39 years old, 1, 1
b) Woman, d) 50-59 years old, 1, 1
b) Woman, e) 60-69 years old, 1, 1
a) man, c) 40-49 years old, 1, 1
(Omitted below)

Gender: Gender, Age: Age group, Weight: Restoration weight, Frequency: Simple frequency

7.2 多次元クロス度数表集計
度数表については、選択した属性項目ごとに度数を集計し、さらに、項目の全組み合わせごとに合計値を計算して多次元クロス度数表を集計する。
度数表は多次元クロス度数表として立体的に作成する必要があり、入力データの再帰処理により属性項目の全ての組み合わせについて合計計算を行う。計算方法としては、第1番目の属性項目について合計符号(“〜”)に置き換えたレコードを入力データに追加して出力し、次にこの出力データを入力データとして用いる再帰処理により、第2番目の属性項目を合計符号(“〜”)に置き換えたレコードを入力データに追加して出力し、これを全ての属性項目について繰り返すことで多次元クロス度数表を立体的に集計する。
多次元クロス度数表は後述の差分計算を行う際に1セル1レコードのセルデータ形式に変換する必要があるが、プログラム上は多次元クロス度数表を直接セルデータ形式で作成することによってセルデータ形式への変換を省略している。
なお、ここでは再帰計算による多次元クロス度数集計について説明しているが、属性項目の全ての組合わせ別に合計を求める方法であれば、再帰計算を用いない方法で集計してもよい。
7.2 Multidimensional cross frequency table aggregation For the frequency table, the frequency is aggregated for each selected attribute item, and the total value is calculated for each combination of items to aggregate the multidimensional cross frequency table.
The frequency table needs to be created three-dimensionally as a multidimensional cross frequency table, and total calculation is performed for all combinations of attribute items by recursive processing of input data. As a calculation method, the record in which the total code (“~”) is replaced with the total code (“~”) for the first attribute item is added to the input data and output, and then the second is performed by recursive processing using this output data as the input data. A record in which the attribute item of is replaced with a total code (“~”) is added to the input data and output, and this is repeated for all the attribute items to three-dimensionally aggregate the multidimensional cross frequency table.
The multidimensional cross frequency table needs to be converted to the cell data format of one cell and one record when performing the difference calculation described later, but in the program, the cell data is created by directly creating the multidimensional cross frequency table in the cell data format. The conversion to the format is omitted.
Although the multidimensional cross frequency aggregation by recursive calculation is described here, if the method is to obtain the total for all combinations of attribute items, the aggregation may be performed by a method that does not use recursive calculation.

多次元クロス度数の再帰計算方法
属性項目F1,F2,・・・,Fjのj次元データについて、属性項目の組合わせ別にレコード単位の度数(FrequencyまたはWeight)を合算して合計度数nを集計し、第i番目までの属性別度数niを求める。属性別度数niは、単純度数の場合はレコードごとのFrequency、加重度数の場合はレコードごとのWeightを属性項目の組合わせ別に合算して求める。得られた属性別度数niについて、以下の再帰計算により属性項目の組合わせ別の多次元クロス度数を集計する。

属性別度数ni
F1 F2 ・・・ Fjn(FrequencyまたはWeightの合計)
C1,1 C1,2 ・・・ C1,jn1
C2,1 C2,2 ・・・ C2,jn2
C3,1 C3,2 ・・・ C3,jn3
・・・
Ci,1 Ci,2 ・・・ Ci,jni
Recursive calculation method of multidimensional cross frequency For j-dimensional data of attribute items F1, F2, ..., Fj, the frequency (Frequency or Weight) of each record is added up for each combination of attribute items to total the total frequency n. , Find the frequency ni for each attribute up to the i-th. The frequency ni for each attribute is obtained by adding up the Frequency for each record in the case of a simple frequency and the Weight for each record in the case of a weighted frequency for each combination of attribute items. For the obtained attribute-specific frequency ni, the multidimensional cross frequency for each combination of attribute items is totaled by the following recursive calculation.

Frequency by attribute ni
F1 F2 ・ ・ ・ Fjn (total of Frequency or Weight)
C1,1 C1,2 ・ ・ ・ C1, jn1
C2,1 C2,2 ・ ・ ・ C2, jn2
C3,1 C3,2 ・ ・ ・ C3, jn3
・ ・ ・
Ci, 1 Ci, 2 ・ ・ ・ Ci, jni

第1番目の再帰計算
F1 F2 ・・・ Fjn(FrequencyまたはWeightの合計)
~ C1,2 ・・・ C1,jn1
~ C2,2 ・・・ C2,jn2
~ C3,2 ・・・ C3,jn3
・・・
~ Ci,2 ・・・ Ci,jni
C1,1 C1,2 ・・・ C1,jn1
C2,1 C2,2 ・・・ C2,jn2
C3,1 C3,2 ・・・ C3,jn3
・・・
Ci,1 Ci,2 ・・・ Ci,jni

上記の出力データについて、同一属性別に度数n(FrequencyまたはWeightの合計)の足し上げを行う。合計を示す分類符号”〜”は、他の記号を用いてもよい。
First recursive calculation F1 F2 ・ ・ ・ Fjn (total of Frequency or Weight)
~ C1,2 ・ ・ ・ C1, jn1
~ C2,2 ・ ・ ・ C2, jn2
~ C3,2 ・ ・ ・ C3, jn3
・ ・ ・
~ Ci, 2 ・ ・ ・ Ci, jni
C1,1 C1,2 ・ ・ ・ C1, jn1
C2,1 C2,2 ・ ・ ・ C2, jn2
C3,1 C3,2 ・ ・ ・ C3, jn3
・ ・ ・
Ci, 1 Ci, 2 ・ ・ ・ Ci, jni

For the above output data, the frequency n (total of Frequency or Weight) is added for each same attribute. Other symbols may be used for the classification code "~" indicating the total.

第2番目の再帰計算
入力データとして第1番目の再帰計算結果を用いて計算処理を行う。

F1 F2 ・・・ Fjn(FrequencyまたはWeightの合計)
~ ~ ・・・ C1,jn1
~ ~ ・・・ C2,jn2
~ ~ ・・・ C3,jn3
・・・
~ ~ ・・・ Ci,jni
C1,1 ~ ・・・ C1,jn1
C2,1 ~ ・・・ C2,jn2
C3,1 ~ ・・・ C3,jn3
・・・
Ci,1 ~ ・・・ Ci,jni
~ C1,2 ・・・ C1,jn1
~ C2,2 ・・・ C2,jn2
~ C3,2 ・・・ C3,jn3
・・・
~ Ci,2 ・・・ Ci,jni
C1,1 C1,2 ・・・ C1,jn1
C2,1 C2,2 ・・・ C2,jn2
C3,1 C3,2 ・・・ C3,jn3
・・・
Ci,1 Ci,2 ・・・ Ci,jni

上記の出力データについて、同一属性別に度数n(FrequencyまたはWeight)の足し上げを行う。
Second recursive calculation A calculation process is performed using the first recursive calculation result as input data.

F1 F2 ・ ・ ・ Fjn (total of Frequency or Weight)
~ ~ ・ ・ ・ C1, jn1
~ ~ ・ ・ ・ C2, jn2
~ ~ ・ ・ ・ C3, jn3
・ ・ ・
~ ~ ・ ・ ・ Ci, jni
C1,1 ~ ・ ・ ・ C1, jn1
C2,1 ~ ・ ・ ・ C2, jn2
C3,1 ~ ・ ・ ・ C3, jn3
・ ・ ・
Ci, 1 ~ ・ ・ ・ Ci, jni
~ C1,2 ・ ・ ・ C1, jn1
~ C2,2 ・ ・ ・ C2, jn2
~ C3,2 ・ ・ ・ C3, jn3
・ ・ ・
~ Ci, 2 ・ ・ ・ Ci, jni
C1,1 C1,2 ・ ・ ・ C1, jn1
C2,1 C2,2 ・ ・ ・ C2, jn2
C3,1 C3,2 ・ ・ ・ C3, jn3
・ ・ ・
Ci, 1 Ci, 2 ・ ・ ・ Ci, jni

For the above output data, the frequency n (Frequency or Weight) is added for each same attribute.

第j番目の再帰計算
F1 F2 ・・・ Fj n(FrequencyまたはWeightの合計)
~ ~ ・・・ ~ n1
~ ~ ・・・ ~ n2
~ ~ ・・・ ~ n3
・・・
~ ~ ・・・ ~ ni
C1,1 ~ ・・・ ~ n1
C2,1 ~ ・・・ ~ n2
C3,1 ~ ・・・ ~ n3
・・・
Ci,1 ~ ・・・ ~ ni
~ C1,2 ・・・ ~ n1
~ C2,2 ・・・ ~ n2
~ C3,2 ・・・ ~ n3
・・・
~ Ci,2 ・・・ ~ ni
C1,1 C1,2 ・・・ ~ n1
C2,1 C2,2 ・・・ ~ n2
C3,1 C3,2 ・・・ ~ n3
・・・
Ci,1 Ci,2 ・・・ ~ ni

・・・(途中省略)

~ ~ ・・・ C1,j n1
~ ~ ・・・ C2,j n2
~ ~ ・・・ C3,j n3
・・・
~ ~ ・・・ Ci,j ni
C1,1 ~ ・・・ C1,j n1
C2,1 ~ ・・・ C2,j n2
C3,1 ~ ・・・ C3,j n3
・・・
Ci,1 ~ ・・・ Ci,j ni
~ C1,2 ・・・ C1,j n1
~ C2,2 ・・・ C2,j n2
~ C3,2 ・・・ C3,j n3
・・・
~ Ci,2 ・・・ Ci,j ni
C1,1 C1,2 ・・・ C1,j n1
C2,1 C2,2 ・・・ C2,j n2
C3,1 C3,2 ・・・ C3,j n3
・・・
Ci,1 Ci,2 ・・・ Ci,j ni
・・・(以下省略)
Jth recursive calculation F1 F2 ・ ・ ・ Fj n (total of Frequency or Weight)
~ ~ ・ ・ ・ ~ N1
~ ~ ・ ・ ・ ~ N2
~ ~ ・ ・ ・ ~ N3
・ ・ ・
~ ~ ・ ・ ・ ~ Ni
C1,1 ~ ・ ・ ・ ~ n1
C2,1 ~ ・ ・ ・ ~ n2
C3,1 ~ ・ ・ ・ ~ n3
・ ・ ・
Ci, 1 ~ ・ ・ ・ ~ ni
~ C1,2 ・ ・ ・ ~ n1
~ C2,2 ・ ・ ・ ~ n2
~ C3,2 ・ ・ ・ ~ n3
・ ・ ・
~ Ci, 2 ・ ・ ・ ~ ni
C1,1 C1,2 ・ ・ ・ ~ n1
C2,1 C2,2 ・ ・ ・ ~ n2
C3,1 C3,2 ・ ・ ・ ~ n3
・ ・ ・
Ci,1 Ci,2 ・ ・ ・ ~ ni

・ ・ ・ (Omitted in the middle)

~ ~ ・ ・ ・ C1, j n1
~ ~ ・ ・ ・ C2, j n2
~ ~ ・ ・ ・ C3, j n3
・ ・ ・
~ ~ ・ ・ ・ Ci, j ni
C1,1 ~ ・ ・ ・ C1, j n1
C2,1 ~ ・ ・ ・ C2, j n2
C3,1 ~ ・ ・ ・ C3, j n3
・ ・ ・
Ci, 1 ~ ・ ・ ・ Ci, j ni
~ C1,2 ・ ・ ・ C1, j n1
~ C2,2 ・ ・ ・ C2, j n2
~ C3,2 ・ ・ ・ C3, j n3
・ ・ ・
~ Ci, 2 ・ ・ ・ Ci, j ni
C1,1 C1,2 ・ ・ ・ C1, j n1
C2,1 C2,2 ・ ・ ・ C2, j n2
C3,1 C3,2 ・ ・ ・ C3, j n3
・ ・ ・
Ci, 1 Ci, 2 ・ ・ ・ Ci, j ni
・ ・ ・ (Omitted below)

上記の出力データについて、同一属性別に度数n(FrequencyまたはWeight)の足し上げを行う。再帰計算をj回繰り返し、同一属性別に度数の足し上げ計算を行うことにより、項目の全ての組合わせについて度数の合計を計算する。

再帰計算の結果
F1 F2 ・・・ Fj n(FrequencyまたはWeightの合計)
~ ~ ・・・ ~ t(~,~,・・・,~)
~ ~ ・・・ C1,j t(~,~,・・・,C1,j)
~ ~ ・・・ C2,j t(~,~,・・・,C2,j)
~ ~ ・・・ C3,j t(~,~,・・・,C3,j)
・・・
~ ~ ・・・ Ci,j t(~,~,・・・,Ci,j)
・・・
~ C1,2 ・・・ ~ t(~,C1,2,・・・,~)
~ C2,2 ・・・ ~ t(~,C2,2,・・・,~)
~ C3,2 ・・・ ~ t(~,C3,2,・・・,~)
・・・
~ Ci,2 ・・・ ~ t(~,Ci,2,・・・,~)
・・・
~ C1,2 ・・・ C1,j t(~,C1,2,・・・,C1,j)
~ C2,2 ・・・ C2,j t(~,C2,2,・・・,C2,j)
~ C3,2 ・・・ C3,j t(~,C3,2,・・・,C3,j)
・・・
~ Ci,2 ・・・ Ci,j t(~,Ci,2,・・・Ci,j)
・・・
C1,1 ~ ・・・ ~ t(C1,1,~ ,・・・,~)
C2,1 ~ ・・・ ~ t(C2,1,~ ,・・・,~)
C3,1 ~ ・・・ ~ t(C3,1,~ ,・・・,~)
・・・
Ci,1 ~ ・・・ ~ t(Ci,1,~ ,・・・,~)
・・・
C1,1 ~ ・・・ C1,j t(C1,1,~ ,・・・,C1,j)
C2,1 ~ ・・・ C2,j t(C2,1,~ ,・・・,C2,j)
C3,1 ~ ・・・ C3,j t(C3,1,~ ,・・・,C3,j)
・・・
Ci,1 ~ ・・・ Ci,j t(Ci,1,~ ,・・・,Ci,j)
・・・
C1,1 C1,2 ・・・ ~ t(C1,1,C1,2,・・・,~)
C2,1 C2,2 ・・・ ~ t(C2,1,C2,2,・・・,~)
C3,1 C3,2 ・・・ ~ t(C3,1,C3,2,・・・,~)
・・・
Ci,1 Ci,2 ・・・ ~ t(Ci,1,Ci,2,・・・,~)
・・・
C1,1 C1,2 ・・・ C1,j n1
C2,1 C2,2 ・・・ C2,j n2
C3,1 C3,2 ・・・ C3,j n3
・・・
Ci,1 Ci,2 ・・・ Ci,j ni

合計度数t(Ci,1,Ci,2,・・・,Ci,j)は、属性(Ci,1,Ci,2,・・・,Ci,j)のレコードについて、度数を合算した値を示す。
For the above output data, the frequency n (Frequency or Weight) is added for each same attribute. The recursive calculation is repeated j times, and the frequency is added up for each of the same attributes to calculate the total frequency for all combinations of items.

Result of recursive calculation F1 F2 ・ ・ ・ Fj n (total of Frequency or Weight)
~ ~ ・ ・ ・ ~ T (~, ~, ・ ・ ・, ~)
~ ~ ・ ・ ・ C1, jt (~, ~, ・ ・ ・, C1, j)
~ ~ ・ ・ ・ C2, jt (~, ~, ・ ・ ・, C2, j)
~ ~ ・ ・ ・ C3, jt (~, ~, ・ ・ ・, C3, j)
・ ・ ・
~ ~ ・ ・ ・ Ci, jt (~, ~, ・ ・ ・, Ci, j)
・ ・ ・
~ C1,2 ・ ・ ・ ~ t (~, C1,2, ・ ・ ・, ~)
~ C2,2 ・ ・ ・ ~ t (~, C2,2, ・ ・ ・, ~)
~ C3,2 ・ ・ ・ ~ t (~, C3,2, ・ ・ ・, ~)
・ ・ ・
~ Ci, 2 ・ ・ ・ ~ t (~, Ci, 2, ・ ・ ・, ~)
・ ・ ・
~ C1,2 ・ ・ ・ C1, jt (~, C1,2, ・ ・ ・, C1, j)
~ C2,2 ・ ・ ・ C2, jt (~, C2,2, ・ ・ ・, C2, j)
~ C3,2 ・ ・ ・ C3, jt (~, C3,2, ・ ・ ・, C3, j)
・ ・ ・
~ Ci, 2 ・ ・ ・ Ci, jt (~, Ci, 2, ・ ・ ・ Ci, j)
・ ・ ・
C1,1 ~ ・ ・ ・ ~ t (C1,1, ~, ・ ・ ・, ~)
C2,1 ~ ・ ・ ・ ~ t (C2,1, ~, ・ ・ ・, ~)
C3,1 ~ ・ ・ ・ ~ t (C3,1, ~, ・ ・ ・, ~)
・ ・ ・
Ci, 1 ~ ・ ・ ・ ~ t (Ci, 1, ~, ・ ・ ・, ~)
・ ・ ・
C1,1 ~ ・ ・ ・ C1, jt (C1,1, ~, ・ ・ ・, C1, j)
C2,1 ~ ・ ・ ・ C2, jt (C2,1, ~, ・ ・ ・, C2, j)
C3,1 ~ ・ ・ ・ C3, jt (C3,1, ~, ・ ・ ・, C3, j)
・ ・ ・
Ci, 1 ~ ・ ・ ・ Ci, jt (Ci, 1, ~, ・ ・ ・, Ci, j)
・ ・ ・
C1,1 C1,2 ・ ・ ・ ~ t (C1,1, C1,2, ・ ・ ・, ~)
C2,1 C2,2 ・ ・ ・ ~ t (C2,1, C2,2, ・ ・ ・, ~)
C3,1 C3,2 ・ ・ ・ ~ t (C3,1, C3,2, ・ ・ ・, ~)
・ ・ ・
Ci, 1 Ci, 2 ・ ・ ・ ~ t (Ci, 1, Ci, 2, ・ ・ ・, ~)
・ ・ ・
C1,1 C1,2 ・ ・ ・ C1, j n1
C2,1 C2,2 ・ ・ ・ C2, j n2
C3,1 C3,2 ・ ・ ・ C3, j n3
・ ・ ・
Ci, 1 Ci, 2 ・ ・ ・ Ci, j ni

The total frequency t (Ci, 1, Ci, 2, ..., Ci, j) is the sum of the frequencies for the records of the attribute (Ci, 1, Ci, 2, ..., Ci, j). Shown.

例)
属性項目F1(a1,a2)とF2(b1,b2,b3)の2次元データについて、下記の度数が得られた場合の2次元クロス度数表計算

F1 F2 n(FrequencyまたはWeightの合計)
a1 b1 n1
a1 b2 n2
a1 b3 n3
a2 b1 n4
a2 b2 n5
a2 b3 n6
Example)
Two-dimensional cross frequency spreadsheet calculation when the following frequencies are obtained for the two-dimensional data of attribute items F1 (a1, a2) and F2 (b1, b2, b3).

F1 F2 n (total of Frequency or Weight)
a1 b1 n1
a1 b2 n2
a1 b3 n3
a2 b1 n4
a2 b2 n5
a2 b3 n6

(1)第1番目の再帰計算
F1 F2 n(FrequencyまたはWeightの合計)
~ b1 n1
~ b2 n2
~ b3 n3
~ b1 n4
~ b2 n5
~ b3 n6
a1 b1 n1
a1 b2 n2
a1 b3 n3
a2 b1 n4
a2 b2 n5
a2 b3 n6

上記の出力データについて、同一属性別に度数n(FrequencyまたはWeightの合計)の合算を行う。

計算結果
F1 F2 n(FrequencyまたはWeightの合計)
~ b1 n1 + n4
~ b2 n2 + n5
~ b3 n3 + n6
a1 b1 n1
a1 b2 n2
a1 b3 n3
a2 b1 n4
a2 b2 n5
a2 b3 n6
(1) First recursive calculation F1 F2 n (total of Frequency or Weight)
~ b1 n1
~ b2 n2
~ b3 n3
~ b1 n4
~ b2 n5
~ b3 n6
a1 b1 n1
a1 b2 n2
a1 b3 n3
a2 b1 n4
a2 b2 n5
a2 b3 n6

For the above output data, the frequency n (total of Frequency or Weight) is added up for each same attribute.

Calculation result F1 F2 n (total of Frequency or Weight)
~ b1 n1 + n4
~ b2 n2 + n5
~ b3 n3 + n6
a1 b1 n1
a1 b2 n2
a1 b3 n3
a2 b1 n4
a2 b2 n5
a2 b3 n6

(2)第2番目の再帰計算
F1 F2 n(FrequencyまたはWeightの合計)
~ ~ n1 + n4
~ ~ n2 + n5
~ ~ n3 + n6
a1 ~ n1
a1 ~ n2
a1 ~ n3
a2 ~ n4
a2 ~ n5
a2 ~ n6
~ b1 n1 + n4
~ b2 n2 + n5
~ b3 n3 + n6
a1 b1 n1
a1 b2 n2
a1 b3 n3
a2 b1 n4
a2 b2 n5
a2 b3 n6

上記の出力データについて、同一属性別に度数n(FrequencyまたはWeightの合計)の足し上げを行う。

計算結果
F1 F2 n(FrequencyまたはWeightの合計)
~ ~ n1+n2+n3+n4+n5+n6
a1 ~ n1+n2+n3
a2 ~ n4+n5+n6
~ b1 n1+n4
~ b2 n2+n5
~ b3 n3+n6
a1 b1 n1
a1 b2 n2
a1 b3 n3
a2 b1 n4
a2 b2 n5
a2 b3 n6
(2) Second recursive calculation F1 F2 n (total of Frequency or Weight)
~ ~ n1 + n4
~ ~ n2 + n5
~ ~ n3 + n6
a1 ~ n1
a1 ~ n2
a1 ~ n3
a2 ~ n4
a2 ~ n5
a2 ~ n6
~ b1 n1 + n4
~ b2 n2 + n5
~ b3 n3 + n6
a1 b1 n1
a1 b2 n2
a1 b3 n3
a2 b1 n4
a2 b2 n5
a2 b3 n6

For the above output data, the frequency n (total of Frequency or Weight) is added for each same attribute.

Calculation result F1 F2 n (total of Frequency or Weight)
~ ~ n1 + n2 + n3 + n4 + n5 + n6
a1 ~ n1 + n2 + n3
a2 ~ n4 + n5 + n6
~ b1 n1 + n4
~ b2 n2 + n5
~ b3 n3 + n6
a1 b1 n1
a1 b2 n2
a1 b3 n3
a2 b1 n4
a2 b2 n5
a2 b3 n6

7.3 多次元クロス度数表の秘匿処理
度数表の秘匿手法としては多様な方法が存在するが、個票データを直接的に処理して匿名化する事前秘匿の場合と異なり、集計後に行う度数表の秘匿処理は度数表の一部を秘匿しても、縦計、横計などの合計や、他の項目との組合わせの値を用いることで、秘匿した値が逆算されてしまうことがある。このため、本発明では、度数表のリスクセルの値が逆算できないように、属性項目の全ての組合わせについてリスク検査を行い、リスクセルを含む属性項目の組合わせについて、クロス表単位で内訳を消去する消去秘匿の方法を用いている。この方法を用いることにより、多次元クロス度数表の他の部分からリスクセルが逆算できないように秘匿処理を行うことができる。
ただし、クロス表単位で内訳を消去する方法は、高い安全性が期待できる一方で、消去されるセル数が多いため、度数表の有用性が著しく低下するという問題がある。そこで、本発明では、消去秘匿と丸め秘匿により複合的に秘匿処理を行い、最小限の消去秘匿を行った多次元クロス度数表の各セルについて丸め処理を加えることで、多次元クロス秘匿度数表の安全性と有用性を維持する方法を用いている。消去秘匿と丸め秘匿による複合的な秘匿処理を行うことで、個票データの有用性を維持しつつ、より高い秘匿効果を得られることが期待できる。
7.3 Concealment processing of multidimensional cross frequency table There are various methods for concealing the frequency table, but unlike the case of pre-concealment in which individual data is directly processed and anonymized, the frequency is performed after aggregation. Even if a part of the frequency table is concealed in the table concealment process, the concealed value may be calculated back by using the total of the vertical total, horizontal total, etc., or the value in combination with other items. is there. Therefore, in the present invention, a risk test is performed on all combinations of attribute items so that the values of risk cells in the frequency table cannot be calculated back, and the breakdown of the combinations of attribute items including risk cells is divided in cross table units. The method of erasing concealment is used. By using this method, it is possible to perform concealment processing so that the risk cell cannot be calculated back from other parts of the multidimensional cross frequency table.
However, while the method of erasing the breakdown in units of cross tables can be expected to have high security, there is a problem that the usefulness of the frequency table is significantly reduced because the number of cells to be erased is large. Therefore, in the present invention, a multidimensional cross concealment frequency table is performed by performing a complex concealment process by erasure concealment and rounding concealment, and by adding a rounding process to each cell of the multidimensional cross concealment table that has been subjected to the minimum erasure concealment. It uses a method to maintain the safety and usefulness of. It can be expected that a higher concealment effect can be obtained while maintaining the usefulness of the individual data by performing a complex concealment process by erasing concealment and rounding concealment.

7.3.1 属性項目の全組合わせ検査及び消去秘匿
多次元クロス度数表の消去秘匿は、属性項目の組合わせごとに多次元クロス度数表の最小セルの検査を行い、最小セルが基準を下回っている場合はその属性項目の組合わせについて内訳度数を全てゼロ値に置き換えて消去することで秘匿を行う方法である。
多次元クロス度数表には、属性項目のあらゆる組合わせについて、合計及び内訳の度数が集計されて含まれていることから、集計対象となるレコードの属性項目について全ての組合わせでリスク検査を行って、最小セルが基準を下回るようなリスクセルが含まれている場合は、その組み合わせの度数表をリスク表と判定する。リスクセルが含まれているリスク表については、該当のリスクセルを消去するだけでは安全性が十分に確保できないため、リスクセルを含む組合わせ表を表単位で消去することで秘匿を行う必要がある。このため、消去秘匿を行う場合は、多次元クロス度数表のリスクセルを含む属性項目の組合わせについて全てのセルの内訳度数を消去することで消去秘匿を行う。
例えば、安全基準を3度数以上とする場合について、性別と年齢について多次元クロス度数表を集計して性別の内訳度数と年齢の内訳度数の最小セルがそれぞれ3以上となっているが、性別と年齢をクロスした内訳度数の最小セルが1となっていて安全基準を満たさないような場合については、性別と年齢をクロスした度数表はリスクセルを含むリスク表となるため、性別と年齢をクロスした内訳度数を全てゼロ値に置き換えを行い、性別と年齢をクロスしない表についてのみの内訳度数を残すことで多次元クロス度数表の秘匿を行う。
消去秘匿を行うデータについて、属性項目がnull値となっているレコードが含まれている場合については、null値の度数を秘匿対象から除外して処理を行う。これは、null値を秘匿対象としてしまうとnull値が1レコード1属性フィールドのみに含まれているような場合にそのフィールドを含む組合わせが全て消去対象となってしまい、秘匿が正常に行われないためである。一般に、null値のフィールドはその属性項目が不詳である場合と解釈されるが、不詳であること自体は秘匿対象ではないと見なして処理を行っている。属性項目が不詳の場合についても孤立レコードが秘匿対象となる場合は不詳の項目をnull値とするのではなく、不詳の符合を付与してnull値と区別する必要がある。
7.3.1 All combination inspection and erasure concealment of attribute items For erasure concealment of multidimensional cross frequency table, the minimum cell of the multidimensional cross frequency table is inspected for each combination of attribute items, and the minimum cell is the standard. If it is less than that, it is a method of concealing the combination of the attribute items by replacing all the breakdown frequencies with zero values and erasing them.
Since the multidimensional cross frequency table includes the total and breakdown frequencies for all combinations of attribute items, risk inspection is performed for all combinations of the attribute items of the records to be aggregated. If a risk cell whose minimum cell is below the standard is included, the frequency table of the combination is determined as the risk table. For risk tables that include risk cells, it is not possible to ensure sufficient safety simply by deleting the relevant risk cells, so it is necessary to conceal by deleting the combination table that includes the risk cells on a table-by-table basis. is there. Therefore, when erasing concealment is performed, erasing concealment is performed by erasing the breakdown frequency of all cells for the combination of attribute items including the risk cell in the multidimensional cross frequency table.
For example, when the safety standard is 3 degrees or more, the minimum cell of the breakdown frequency of gender and the breakdown frequency of age is 3 or more by totaling the multidimensional cross frequency table for gender and age, but the gender and If the minimum cell of the breakdown frequency that crosses age is 1 and does not meet the safety criteria, the frequency table that crosses gender and age is a risk table that includes risk cells, so gender and age are crossed. The multidimensional cross frequency table is concealed by replacing all the breakdown frequencies with zero values and leaving the breakdown frequency only for the table that does not cross gender and age.
If the data to be erased and concealed contains a record whose attribute item is a null value, the frequency of the null value is excluded from the concealment target and processing is performed. This is because if the null value is targeted for concealment, if the null value is included only in one record and one attribute field, all combinations including that field will be targeted for erasure, and concealment will be performed normally. Because there is no such thing. Generally, a null value field is interpreted as a case where the attribute item is unknown, but the fact that the attribute item is unknown is not considered to be a confidential object and is processed. Even when the attribute item is unknown, if the isolated record is to be concealed, it is necessary to add an unknown sign to distinguish it from the null value instead of setting the unknown item as a null value.

例)
ある個票データについて、就業状態と性別、年齢をクロスした3次元クロス表を集計したところ、下記のクロス度数表が得られたとする。安全基準を3とすると、クロス表の最小セルは「60〜69歳の女」の度数が1、「60〜69歳の男」の度数が2となっているため、就業状態と性別、年齢の3項目をクロスすることによりリスクセルが発生することがわかる。

クロス度数表(3次元の場合)
性別 年齢 総数 a)有業 b)無業
総数 総数 100 53 47
総数 a)20〜29歳 19 11 8
総数 b)30〜39歳 24 15 9
総数 c)40〜49歳 23 15 8
総数 d)50〜59歳 18 9 9
総数 e)60〜69歳 9 3 6
総数 f)70歳以上 7 0 7
a)男 総数 50 32 18
a)男 a)20〜29歳 10 6 4
a)男 b)30〜39歳 13 10 3
a)男 c)40〜49歳 12 9 3
a)男 d)50〜59歳 8 5 3
a)男 e)60〜69歳 4 2 2
a)男 f)70歳以上 3 0 3
b)女 総数 50 21 29
b)女 a)20〜29歳 9 5 4
b)女 b)30〜39歳 11 5 6
b)女 c)40〜49歳 11 6 5
b)女 d)50〜59歳 10 4 6
b)女 e)60〜69歳 5 1 4
b)女 f)70歳以上 4 0 4
Example)
It is assumed that the following cross frequency table is obtained when a three-dimensional cross table that crosses the employment status, gender, and age is aggregated for a certain individual data. Assuming that the safety standard is 3, the minimum cell in the cross table has a frequency of 1 for "woman aged 60-69" and a frequency of 2 for "man aged 60-69". It can be seen that a risk cell is generated by crossing the above three items.

Cross frequency table (in the case of 3D)
Gender Age Total a) Employed b) Unemployed Total 100 53 47
Total a) 20-29 years old 19 11 8
Total b) 30-39 years old 24 15 9
Total number c) 40-49 years old 23 15 8
Total d) 50-59 years old 18 9 9
Total number e) 60-69 years old 9 3 6
Total number f) 70 years old and over 7 0 7
a) Total number of men 50 32 18
a) Man a) 20-29 years old 10 6 4
a) Man b) 30-39 years old 13 10 3
a) Man c) 40-49 years old 12 9 3
a) Man d) 50-59 years old 8 5 3
a) Man e) 60-69 years old 4 2 2
a) Man f) Over 70 years old 3 0 3
b) Total number of women 50 21 29
b) Woman a) 20-29 years old 9 5 4
b) Woman b) 30-39 years old 11 5 6
b) Woman c) 40-49 years old 11 6 5
b) Woman d) 50-59 years old 10 4 6
b) Woman e) 60-69 years old 5 1 4
b) Woman f) Over 70 years old 4 0 4

この表について、1セル1レコードのセルデータ形式(総数については符号「〜」とする。)に変換し、属性の組合わせごとに分類符号を付与する。分類符号は、それぞれの属性項目について合計の項目を「〜」、内訳の項目を「0」として表す。

セルデータ形式のクロス度数表(3次元の場合)
F0符号 F1就業状態 F2性別 F3年齢 n(Frequency合計)
~~~ ~ ~ ~ 100
~~0 ~ ~ a)20〜29歳 19
~~0 ~ ~ b)30〜39歳 24
~~0 ~ ~ c)40〜49歳 23
~~0 ~ ~ d)50〜59歳 18
~~0 ~ ~ e)60〜69歳 9
~~0 ~ ~ f)70歳以上 7
~0~ ~ a)男 ~ 50
~00 ~ a)男 a)20〜29歳 10
~00 ~ a)男 b)30〜39歳 13
~00 ~ a)男 c)40〜49歳 12
~00 ~ a)男 d)50〜59歳 8
~00 ~ a)男 e)60〜69歳 4
~00 ~ a)男 f)70歳以上 3
~0~ ~ b)女 ~ 50
~00 ~ b)女 a)20〜29歳 9
~00 ~ b)女 b)30〜39歳 11
~00 ~ b)女 c)40〜49歳 11
~00 ~ b)女 d)50〜59歳 10
~00 ~ b)女 e)60〜69歳 5
~00 ~ b)女 f)70歳以上 4
0~~ a)有業 ~ ~ 53
0~0 a)有業 ~ a)20〜29歳 11
0~0 a)有業 ~ b)30〜39歳 15
0~0 a)有業 ~ c)40〜49歳 15
0~0 a)有業 ~ d)50〜59歳 9
0~0 a)有業 ~ e)60〜69歳 3
00~ a)有業 a)男 ~ 32
000 a)有業 a)男 a)20〜29歳 6
000 a)有業 a)男 b)30〜39歳 10
000 a)有業 a)男 c)40〜49歳 9
000 a)有業 a)男 d)50〜59歳 5
000 a)有業 a)男 e)60〜69歳 2
00~ a)有業 b)女 ~ 21
000 a)有業 b)女 a)20〜29歳 5
000 a)有業 b)女 b)30〜39歳 5
000 a)有業 b)女 c)40〜49歳 6
000 a)有業 b)女 d)50〜59歳 4
000 a)有業 b)女 e)60〜69歳 1
0~~ b)無業 ~ ~ 47
0~0 b)無業 ~ a)20〜29歳 8
0~0 b)無業 ~ b)30〜39歳 9
0~0 b)無業 ~ c)40〜49歳 8
0~0 b)無業 ~ d)50〜59歳 9
0~0 b)無業 ~ e)60〜69歳 6
0~0 b)無業 ~ f)70歳以上 7
00~ b)無業 a)男 ~ 18
000 b)無業 a)男 a)20〜29歳 4
000 b)無業 a)男 b)30〜39歳 3
000 b)無業 a)男 c)40〜49歳 3
000 b)無業 a)男 d)50〜59歳 3
000 b)無業 a)男 e)60〜69歳 2
000 b)無業 a)男 f)70歳以上 3
00~ b)無業 b)女 ~ 29
000 b)無業 b)女 a)20〜29歳 4
000 b)無業 b)女 b)30〜39歳 6
000 b)無業 b)女 c)40〜49歳 5
000 b)無業 b)女 d)50〜59歳 6
000 b)無業 b)女 e)60〜69歳 4
000 b)無業 b)女 f)70歳以上 4
This table is converted into a cell data format of one cell and one record (the total number is designated by the code "~"), and a classification code is assigned to each combination of attributes. The classification code represents the total item as "~" and the breakdown item as "0" for each attribute item.

Cross frequency table in cell data format (in the case of 3D)
F0 sign F1 Employment status F2 Gender F3 Age n (Frequency total)
~~~ ~ ~ ~ 100
~~ 0 ~ ~ a) 20-29 years old 19
~~ 0 ~ ~ b) 30 ~ 39 years old 24
~~ 0 ~ ~ c) 40 ~ 49 years old 23
~~ 0 ~ ~ d) 50 ~ 59 years old 18
~~ 0 ~ ~ e) 60 ~ 69 years old 9
~~ 0 ~ ~ f) Over 70 years old 7
~ 0 ~ ~ a) Man ~ 50
~ 00 ~ a) Man a) 20-29 years old 10
~ 00 ~ a) Man b) 30-39 years old 13
~ 00 ~ a) Man c) 40 ~ 49 years old 12
~ 00 ~ a) Man d) 50 ~ 59 years old 8
~ 00 ~ a) Man e) 60 ~ 69 years old 4
~ 00 ~ a) Man f) Over 70 years old 3
~ 0 ~ ~ b) Woman ~ 50
~ 00 ~ b) Woman a) 20-29 years old 9
~ 00 ~ b) Woman b) 30-39 years old 11
~ 00 ~ b) Woman c) 40-49 years old 11
~ 00 ~ b) Woman d) 50 ~ 59 years old 10
~ 00 ~ b) Woman e) 60-69 years old 5
~ 00 ~ b) Woman f) Over 70 years old 4
0 ~~ a) Working ~~ 53
0 ~ 0 a) Working ~ a) 20 ~ 29 years old 11
0 ~ 0 a) Working ~ b) 30 ~ 39 years old 15
0 ~ 0 a) Working ~ c) 40 ~ 49 years old 15
0 ~ 0 a) Working ~ d) 50 ~ 59 years old 9
0 ~ 0 a) Working ~ e) 60 ~ 69 years old 3
00 ~ a) Working a) Man ~ 32
000 a) Working a) Man a) 20-29 years old 6
000 a) Working a) Man b) 30-39 years old 10
000 a) Working a) Man c) 40-49 years old 9
000 a) Working a) Man d) 50-59 years old 5
000 a) Working a) Man e) 60-69 years old 2
00 ~ a) Working b) Woman ~ 21
000 a) Working b) Woman a) 20-29 years old 5
000 a) Working b) Woman b) 30-39 years old 5
000 a) Working b) Woman c) 40-49 years old 6
000 a) Working b) Woman d) 50-59 years old 4
000 a) Working b) Woman e) 60-69 years old 1
0 ~~ b) Unemployed ~ ~ 47
0 ~ 0 b) Unemployed ~ a) 20 ~ 29 years old 8
0 ~ 0 b) Unemployed ~ b) 30 ~ 39 years old 9
0 ~ 0 b) Unemployed ~ c) 40 ~ 49 years old 8
0 ~ 0 b) Unemployed ~ d) 50 ~ 59 years old 9
0 ~ 0 b) Unemployed ~ e) 60 ~ 69 years old 6
0 ~ 0 b) Unemployed ~ f) 70 years old and over 7
00 ~ b) Unemployed a) Man ~ 18
000 b) Unemployed a) Man a) 20-29 years old 4
000 b) Unemployed a) Man b) 30-39 years old 3
000 b) Unemployed a) Man c) 40-49 years old 3
000 b) Unemployed a) Man d) 50-59 years old 3
000 b) Unemployed a) Man e) 60-69 years old 2
000 b) Unemployed a) Man f) Over 70 years old 3
00 ~ b) Unemployed b) Woman ~ 29
000 b) Unemployed b) Woman a) 20-29 years old 4
000 b) Unemployed b) Woman b) 30-39 years old 6
000 b) Unemployed b) Woman c) 40-49 years old 5
000 b) Unemployed b) Woman d) 50-59 years old 6
000 b) Unemployed b) Woman e) 60-69 years old 4
000 b) Unemployed b) Woman f) Over 70 years old 4

分類符号ごとの最小セルについてリスクチェックを行うと、下記の検査結果が得られる。

検査結果(就業状態/性別/年齢)
符号 最小度数
[000] 1
[~00] 3
[0~0] 3
[~~0] 7
[00~] 18
[0~~] 47
[~0~] 50
[~~~] 100
When the risk check is performed on the minimum cell for each classification code, the following test results are obtained.

Test results (working status / gender / age)
Code minimum frequency
[000] 1
[~ 00] 3
[0 ~ 0] 3
[~~ 0] 7
[00 ~] 18
[0 ~~] 47
[~ 0 ~] 50
[~~~] 100

この検査結果から、組合わせ分類[000]は度数1のリスクセルを含むリスク表となっていることがわかる。そこで、分類[000]の組合わせについては内訳度数を全てゼロ値に置き換えることで消去秘匿を行う。

F0符号 F1就業状態 F2性別 F3年齢 n(Frequency合計)
~~~ ~ ~ ~ 100
~~0 ~ ~ a)20〜29歳 19
~~0 ~ ~ b)30〜39歳 24
~~0 ~ ~ c)40〜49歳 23
~~0 ~ ~ d)50〜59歳 18
~~0 ~ ~ e)60〜69歳 9
~~0 ~ ~ f)70歳以上 7
~0~ ~ a)男 ~ 50
~00 ~ a)男 a)20〜29歳 10
~00 ~ a)男 b)30〜39歳 13
~00 ~ a)男 c)40〜49歳 12
~00 ~ a)男 d)50〜59歳 8
~00 ~ a)男 e)60〜69歳 4
~00 ~ a)男 f)70歳以上 3
~0~ ~ b)女 ~ 50
~00 ~ b)女 a)20〜29歳 9
~00 ~ b)女 b)30〜39歳 11
~00 ~ b)女 c)40〜49歳 11
~00 ~ b)女 d)50〜59歳 10
~00 ~ b)女 e)60〜69歳 5
~00 ~ b)女 f)70歳以上 4
0~~ a)有業 ~ ~ 53
0~0 a)有業 ~ a)20〜29歳 11
0~0 a)有業 ~ b)30〜39歳 15
0~0 a)有業 ~ c)40〜49歳 15
0~0 a)有業 ~ d)50〜59歳 9
0~0 a)有業 ~ e)60〜69歳 3
00~ a)有業 a)男 ~ 32
000 a)有業 a)男 a)20〜29歳 0 (ゼロ値置換)
000 a)有業 a)男 b)30〜39歳 0 (ゼロ値置換)
000 a)有業 a)男 c)40〜49歳 0 (ゼロ値置換)
000 a)有業 a)男 d)50〜59歳 0 (ゼロ値置換)
000 a)有業 a)男 e)60〜69歳 0 (ゼロ値置換)
00~ a)有業 b)女 ~ 21
000 a)有業 b)女 a)20〜29歳 0 (ゼロ値置換)
000 a)有業 b)女 b)30〜39歳 0 (ゼロ値置換)
000 a)有業 b)女 c)40〜49歳 0 (ゼロ値置換)
000 a)有業 b)女 d)50〜59歳 0 (ゼロ値置換)
000 a)有業 b)女 e)60〜69歳 0 (ゼロ値置換)
0~~ b)無業 ~ ~ 47
0~0 b)無業 ~ a)20〜29歳 8
0~0 b)無業 ~ b)30〜39歳 9
0~0 b)無業 ~ c)40〜49歳 8
0~0 b)無業 ~ d)50〜59歳 9
0~0 b)無業 ~ e)60〜69歳 6
0~0 b)無業 ~ f)70歳以上 7
00~ b)無業 a)男 ~ 18
000 b)無業 a)男 a)20〜29歳 0 (ゼロ値置換)
000 b)無業 a)男 b)30〜39歳 0 (ゼロ値置換)
000 b)無業 a)男 c)40〜49歳 0 (ゼロ値置換)
000 b)無業 a)男 d)50〜59歳 0 (ゼロ値置換)
000 b)無業 a)男 e)60〜69歳 0 (ゼロ値置換)
000 b)無業 a)男 f)70歳以上 0 (ゼロ値置換)
00~ b)無業 b)女 ~ 29
000 b)無業 b)女 a)20〜29歳 0 (ゼロ値置換)
000 b)無業 b)女 b)30〜39歳 0 (ゼロ値置換)
000 b)無業 b)女 c)40〜49歳 0 (ゼロ値置換)
000 b)無業 b)女 d)50〜59歳 0 (ゼロ値置換)
000 b)無業 b)女 e)60〜69歳 0 (ゼロ値置換)
000 b)無業 b)女 f)70歳以上 0 (ゼロ値置換)

上記の方法により消去秘匿を行ったクロス度数表について、合計と内訳の差分計算と個票形式への変換を行うことで、リスクセルに関する情報を含まない個票形式のデータを得ることができる。
From this test result, it can be seen that the combination classification [000] is a risk table including a risk cell having a frequency of 1. Therefore, for the combination of classification [000], the erasure concealment is performed by replacing all the breakdown frequencies with zero values.

F0 sign F1 Employment status F2 Gender F3 Age n (Frequency total)
~~~ ~ ~ ~ 100
~~ 0 ~ ~ a) 20-29 years old 19
~~ 0 ~ ~ b) 30 ~ 39 years old 24
~~ 0 ~ ~ c) 40 ~ 49 years old 23
~~ 0 ~ ~ d) 50 ~ 59 years old 18
~~ 0 ~ ~ e) 60 ~ 69 years old 9
~~ 0 ~ ~ f) Over 70 years old 7
~ 0 ~ ~ a) Man ~ 50
~ 00 ~ a) Man a) 20-29 years old 10
~ 00 ~ a) Man b) 30-39 years old 13
~ 00 ~ a) Man c) 40 ~ 49 years old 12
~ 00 ~ a) Man d) 50 ~ 59 years old 8
~ 00 ~ a) Man e) 60 ~ 69 years old 4
~ 00 ~ a) Man f) Over 70 years old 3
~ 0 ~ ~ b) Woman ~ 50
~ 00 ~ b) Woman a) 20-29 years old 9
~ 00 ~ b) Woman b) 30-39 years old 11
~ 00 ~ b) Woman c) 40-49 years old 11
~ 00 ~ b) Woman d) 50 ~ 59 years old 10
~ 00 ~ b) Woman e) 60-69 years old 5
~ 00 ~ b) Woman f) Over 70 years old 4
0 ~~ a) Working ~~ 53
0 ~ 0 a) Working ~ a) 20 ~ 29 years old 11
0 ~ 0 a) Working ~ b) 30 ~ 39 years old 15
0 ~ 0 a) Working ~ c) 40 ~ 49 years old 15
0 ~ 0 a) Working ~ d) 50 ~ 59 years old 9
0 ~ 0 a) Working ~ e) 60 ~ 69 years old 3
00 ~ a) Working a) Man ~ 32
000 a) Working a) Male a) 20-29 years old 0 (zero value replacement)
000 a) Working a) Male b) 30-39 years old 0 (zero value replacement)
000 a) Working a) Male c) 40-49 years old 0 (zero value replacement)
000 a) Working a) Male d) 50-59 years old 0 (zero value replacement)
000 a) Working a) Male e) 60-69 years old 0 (zero value replacement)
00 ~ a) Working b) Woman ~ 21
000 a) Working b) Woman a) 20-29 years old 0 (zero value replacement)
000 a) Working b) Woman b) 30-39 years old 0 (zero value replacement)
000 a) Working b) Woman c) 40-49 years old 0 (zero value replacement)
000 a) Working b) Woman d) 50-59 years old 0 (zero value replacement)
000 a) Working b) Woman e) 60-69 years old 0 (zero value replacement)
0 ~~ b) Unemployed ~ ~ 47
0 ~ 0 b) Unemployed ~ a) 20 ~ 29 years old 8
0 ~ 0 b) Unemployed ~ b) 30 ~ 39 years old 9
0 ~ 0 b) Unemployed ~ c) 40 ~ 49 years old 8
0 ~ 0 b) Unemployed ~ d) 50 ~ 59 years old 9
0 ~ 0 b) Unemployed ~ e) 60 ~ 69 years old 6
0 ~ 0 b) Unemployed ~ f) 70 years old and over 7
00 ~ b) Unemployed a) Man ~ 18
000 b) Unemployed a) Man a) 20-29 years old 0 (zero value replacement)
000 b) Unemployed a) Male b) 30-39 years old 0 (zero value replacement)
000 b) Unemployed a) Male c) 40-49 years old 0 (zero value replacement)
000 b) Unemployed a) Man d) 50-59 years old 0 (zero value replacement)
000 b) Unemployed a) Male e) 60-69 years old 0 (zero value replacement)
000 b) Unemployed a) Male f) Over 70 years old 0 (zero value replacement)
00 ~ b) Unemployed b) Woman ~ 29
000 b) Unemployed b) Woman a) 20-29 years old 0 (zero value replacement)
000 b) Unemployed b) Woman b) 30-39 years old 0 (zero value replacement)
000 b) Unemployed b) Woman c) 40-49 years old 0 (zero value replacement)
000 b) Unemployed b) Woman d) 50-59 years old 0 (zero value replacement)
000 b) Unemployed b) Woman e) 60-69 years old 0 (zero value replacement)
000 b) Unemployed b) Woman f) Over 70 years old 0 (zero value replacement)

By performing the difference calculation of the total and the breakdown and the conversion to the individual form for the cross frequency table that has been erased and concealed by the above method, it is possible to obtain the individual form data that does not include the information on the risk cell.

7.3.2 多次元度数表の丸め秘匿
(1) 多次元度数表の丸め秘匿
多次元クロス度数表において、度数が安全基準に満たない場合、そのセルに含まれるデータは度数表におけるリスクセル、個票データにおけるリスクレコードとなるため、度数表の丸め処理を行うことで、リスクレコードを含むセルの秘匿を行うことができる。例として、丸め基数5で四捨五入による丸め処理を行う場合は、度数を基数5で除算して小数点以下を四捨五入した値に基数5を乗じることで度数表の丸め処理を行う。

丸め処理の計算式

t(C1,C2, ,・・・,Ci)’ = ROUND( t(C1,C2, ,・・・,Ci) )

注)ROUND( )は、丸め処理を行う関数を表す。

丸め処理の計算結果
F1 F2 ・・・ Fj N’
~ ~ ・・・ ~ t(~,~,・・・,~)’
~ ~ ・・・ C1,j t(~,~,・・・,C1,j)’
~ ~ ・・・ C2,j t(~,~,・・・,C2,j)’
~ ~ ・・・ C3,j t(~,~,・・・,C3,j)’
・・・
~ ~ ・・・ Ci,j t(~,~,・・・,Ci,j)’
・・・
~ C1,2 ・・・ ~ t(~,C1,2,・・・,~)’
~ C2,2 ・・・ ~ t(~,C2,2,・・・,~)’
~ C3,2 ・・・ ~ t(~,C3,2,・・・,~)’
・・・
~ Ci,2 ・・・ ~ t(~,Ci,2,・・・,~)’
・・・
~ C1,2 ・・・ C1,j t(~,C1,2,・・・,C1,j)’
~ C2,2 ・・・ C2,j t(~,C2,2,・・・,C2,j)’
~ C3,2 ・・・ C3,j t(~,C3,2,・・・,C3,j)’
・・・
~ Ci,2 ・・・ Ci,j t(~,Ci,2,・・・Ci,j)’
・・・
C1,1 ~ ・・・ ~ t(C1,1,~ ,・・・,~)’
C2,1 ~ ・・・ ~ t(C2,1,~ ,・・・,~)’
C3,1 ~ ・・・ ~ t(C3,1,~ ,・・・,~)’
・・・
Ci,1 ~ ・・・ ~ t(Ci,1,~ ,・・・,~)’
・・・
C1,1 ~ ・・・ C1,j t(C1,1,~ ,・・・,C1,j)’
C2,1 ~ ・・・ C2,j t(C2,1,~ ,・・・,C2,j)’
C3,1 ~ ・・・ C3,j t(C3,1,~ ,・・・,C3,j)’
・・・
Ci,1 ~ ・・・ Ci,j t(Ci,1,~ ,・・・,Ci,j)’
・・・
C1,1 C1,2 ・・・ ~ t(C1,1,C1,2,・・・,~)’
C2,1 C2,2 ・・・ ~ t(C2,1,C2,2,・・・,~)’
C3,1 C3,2 ・・・ ~ t(C3,1,C3,2,・・・,~)’
・・・
Ci,1 Ci,2 ・・・ ~ t(Ci,1,Ci,2,・・・,~)’
・・・
C1,1 C1,2 ・・・ C1,j n1’
C2,1 C2,2 ・・・ C2,j n2’
C3,1 C3,2 ・・・ C3,j n3’
・・・
Ci,1 Ci,2 ・・・ Ci,j ni’
7.3.2 Rounding concealment of multidimensional frequency table
(1) Concealment of rounding of multidimensional frequency table In a multidimensional cross frequency table, if the frequency does not meet the safety standard, the data contained in that cell becomes a risk cell in the frequency table and a risk record in individual data, so the frequency By rounding the table, the cell including the risk record can be concealed. As an example, when the rounding process is performed by rounding with a rounding radix of 5, the frequency table is rounded by dividing the frequency by the radix 5 and multiplying the value rounded to the nearest whole number by the radix 5.

Rounding formula

t (C1, C2,, ..., Ci)'= ROUND (t (C1, C2,, ..., Ci))

Note) ROUND () represents a function that performs rounding.

Rounding calculation result F1 F2 ・ ・ ・ Fj N'
~ ~ ・ ・ ・ ~ T (~, ~, ・ ・ ・, ~)'
~ ~ ・ ・ ・ C1, jt (~, ~, ・ ・ ・, C1, j)'
~ ~ ・ ・ ・ C2, jt (~, ~, ・ ・ ・, C2, j)'
~ ~ ・ ・ ・ C3, jt (~, ~, ・ ・ ・, C3, j)'
・ ・ ・
~ ~ ・ ・ ・ Ci, jt (~, ~, ・ ・ ・, Ci, j)'
・ ・ ・
~ C1,2 ・ ・ ・ ~ t (~, C1,2, ・ ・ ・, ~)'
~ C2,2 ・ ・ ・ ~ t (~, C2,2, ・ ・ ・, ~)'
~ C3,2 ・ ・ ・ ~ t (~, C3,2, ・ ・ ・, ~)'
・ ・ ・
~ Ci, 2 ・ ・ ・ ~ t (~, Ci, 2, ・ ・ ・, ~)'
・ ・ ・
~ C1,2 ・ ・ ・ C1, jt (~, C1,2, ・ ・ ・, C1, j)'
~ C2,2 ・ ・ ・ C2, jt (~, C2,2, ・ ・ ・, C2, j)'
~ C3,2 ・ ・ ・ C3, jt (~, C3,2, ・ ・ ・, C3, j)'
・ ・ ・
~ Ci, 2 ・ ・ ・ Ci, jt (~, Ci, 2, ・ ・ ・ Ci, j)'
・ ・ ・
C1,1 ~ ・ ・ ・ ~ t (C1,1, ~, ・ ・ ・, ~)'
C2,1 ~ ・ ・ ・ ~ t (C2,1, ~, ・ ・ ・, ~)'
C3,1 ~ ・ ・ ・ ~ t (C3,1, ~, ・ ・ ・, ~)'
・ ・ ・
Ci, 1 ~ ・ ・ ・ ~ t (Ci, 1, ~, ・ ・ ・, ~)'
・ ・ ・
C1,1 ~ ・ ・ ・ C1, jt (C1,1, ~, ・ ・ ・, C1, j)'
C2,1 ~ ・ ・ ・ C2, jt (C2,1, ~, ・ ・ ・, C2, j)'
C3,1 ~ ・ ・ ・ C3, jt (C3,1, ~, ・ ・ ・, C3, j)'
・ ・ ・
Ci, 1 ~ ・ ・ ・ Ci, jt (Ci, 1, ~, ・ ・ ・, Ci, j)'
・ ・ ・
C1,1 C1,2 ・ ・ ・ ~ t (C1,1, C1,2, ・ ・ ・, ~)'
C2,1 C2,2 ・ ・ ・ ~ t (C2,1, C2,2, ・ ・ ・, ~)'
C3,1 C3,2 ・ ・ ・ ~ t (C3,1, C3,2, ・ ・ ・, ~)'
・ ・ ・
Ci, 1 Ci, 2 ・ ・ ・ ~ t (Ci, 1, Ci, 2, ・ ・ ・, ~)'
・ ・ ・
C1,1 C1,2 ・ ・ ・ C1, j n1'
C2,1 C2,2 ・ ・ ・ C2, j n2'
C3,1 C3,2 ・ ・ ・ C3, j n3'
・ ・ ・
Ci, 1 Ci, 2 ・ ・ ・ Ci, j ni'

例)多次元クロス度数表の丸め処理(2次元の場合)
F1 F2 Nf (Frequency)
~ ~ (n1+n2+n3+n4+n5+n6)’ = ROUND(n1+n2+n3+n4+n5+n6)
a1 ~ (n1+n2+n3)’ = ROUND(n1+n2+n3)
a2 ~ (n4+n5+n6)’ = ROUND(n4+n5+n6)
~ b1 (n1+n4)’ = ROUND(n1+n4)
~ b2 (n2+n5)’ = ROUND(n2+n5)
~ b3 (n3+n6)’ = ROUND(n3+n6)
a1 b1 (n1)’ = ROUND(n1)
a1 b2 (n2)’ = ROUND(n2)
a1 b3 (n3)’ = ROUND(n3)
a2 b1 (n4)’ = ROUND(n4)
a2 b2 (n5)’ = ROUND(n5)
a2 b3 (n6)’ = ROUND(n6)

注)ROUND( ) は丸め処理を行う関数を表す。
Example) Rounding of multidimensional cross frequency table (in the case of 2D)
F1 F2 Nf (Frequency)
~ ~ (n1 + n2 + n3 + n4 + n5 + n6)'= ROUND (n1 + n2 + n3 + n4 + n5 + n6)
a1 ~ (n1 + n2 + n3)'= ROUND (n1 + n2 + n3)
a2 ~ (n4 + n5 + n6)'= ROUND (n4 + n5 + n6)
~ b1 (n1 + n4)'= ROUND (n1 + n4)
~ b2 (n2 + n5)'= ROUND (n2 + n5)
~ b3 (n3 + n6)'= ROUND (n3 + n6)
a1 b1 (n1)'= ROUND (n1)
a1 b2 (n2)'= ROUND (n2)
a1 b3 (n3)'= ROUND (n3)
a2 b1 (n4)'= ROUND (n4)
a2 b2 (n5)'= ROUND (n5)
a2 b3 (n6)'= ROUND (n6)

Note) ROUND () represents a function that performs rounding.

例)丸め基数5の四捨五入の場合
度数 丸め値 丸め計算
0 0 Round( 0 / 5 ) * 5 = 0
1 0 Round( 1 / 5 ) * 5 = 0
2 0 Round( 2 / 5 ) * 5 = 0

3 5 Round( 3 / 5 ) * 5 = 5
4 5 Round( 4 / 5 ) * 5 = 5
5 5 Round( 5 / 5 ) * 5 = 5
6 5 Round( 6 / 5 ) * 5 = 5
7 5 Round( 7 / 5 ) * 5 = 5

8 10 Round( 8 / 5 ) * 5 = 10
9 10 Round( 9 / 5 ) * 5 = 10
10 10 Round(10 / 5 ) * 5 = 10

注)Round() は、小数点以下を四捨五入で丸める関数を示す。
Example) When rounding to a rounding base of 5 Frequency Rounding value Rounding calculation 0 0 Round (0/5) * 5 = 0
10 Round (1/5) * 5 = 0
20 Round (2/5) * 5 = 0

3 5 Round (3/5) * 5 = 5
4 5 Round (4/5) * 5 = 5
5 5 Round (5/5) * 5 = 5
6 5 Round (6/5) * 5 = 5
7 5 Round (7/5) * 5 = 5

8 10 Round (8/5) * 5 = 10
9 10 Round (9/5) * 5 = 10
10 10 Round (10/5) * 5 = 10

Note) Round () indicates a function that rounds to the nearest whole number.

例)多次元クロス度数表(2次元の場合)
年齢 総数 a)男 b)女
総数 100 50 50
a)20〜29歳 19 10 9
b)30〜39歳 24 13 11
c)40〜49歳 23 12 11
d)50〜59歳 18 8 10
e)60〜69歳 9 4 5
f)70歳以上 7 3 4

度数表の丸め処理(丸め基数5の場合)
年齢 総数 a)男 b)女
総数 100 50 50
a)20〜29歳 20 10 10
b)30〜39歳 25 15 10
c)40〜49歳 25 10 10
d)50〜59歳 20 10 10
e)60〜69歳 10 5 5
f)70歳以上 5 5 5
Example) Multidimensional cross frequency table (in the case of 2D)
Total age a) Male b) Total female 100 50 50
a) 20-29 years old 19 10 9
b) 30-39 years old 24 13 11
c) 40-49 years old 23 12 11
d) 50-59 years old 18 8 10
e) 60-69 years old 9 4 5
f) Over 70 years old 7 3 4

Rounding of frequency table (when rounding radix is 5)
Total age a) Male b) Total female 100 50 50
a) 20-29 years old 20 10 10
b) 30-39 years old 25 15 10
c) 40-49 years old 25 10 10
d) 50-59 years old 20 10 10
e) 60-69 years old 10 5 5
f) Over 70 years old 5 5 5

(2) 丸め秘匿の基数と安全性
四捨五入による丸め秘匿に用いる丸め基数は、5以上とする必要がある。これは、5未満の基数で丸め処理を行った場合は十分な秘匿ができない可能性があるためである。丸め基数を5とした場合、丸め値が5となる基の度数は3〜7の範囲で存在しており、基の度数がいくつであるかを丸め値のみから特定することはできない。度数表は個々の属性別のセル値だけではなく、合計値も丸める必要があり、度数表のセルの基の度数が1または2の場合で切捨てとなる場合も他のセルの丸めによる切捨てと切上げが混在することで切捨てとなったセルを特定することはできないため、丸め基数5以上で丸め処理を行った度数表はリスクデータの特定可能性という観点からある程度の安全性が確保できることが期待できる。ただし、個票データの属性別分布によっては丸め基数5でも秘匿強度がやや不十分な場合があり得るため、プログラム上は丸め基数の安全基準をデフォルトで10としている。丸め基数については安全基準をさらに大きく設定することで、より高い安全性を確保することが可能である。
(2) Cardinal number and safety of rounding concealment The number of rounding radix used for rounding concealment by rounding must be 5 or more. This is because if the rounding process is performed with a radix of less than 5, sufficient concealment may not be possible. When the rounding radix is 5, the frequency of the group having the rounding value of 5 exists in the range of 3 to 7, and it is not possible to specify the number of the radix of the group only from the rounding value. In the frequency table, it is necessary to round not only the cell value for each attribute but also the total value, and even if the frequency of the base of the cell in the frequency table is 1 or 2, it is rounded down by rounding other cells. Since it is not possible to identify the cells that have been rounded down due to the mixture of rounding up, it is expected that the frequency table that has been rounded with a rounding radix of 5 or more can ensure a certain degree of safety from the viewpoint of the possibility of identifying risk data. it can. However, depending on the distribution of individual data by attribute, the concealment strength may be slightly insufficient even with a rounding radix of 5, so the safety standard for the rounding radix is set to 10 by default in the program. It is possible to ensure higher safety by setting a larger safety standard for the rounding radix.

丸め処理による丸め誤差は表全体に等確率で発生するため、丸め処理を行うと統計表としての精度は下がるものの有意な歪みは発生しないことが期待でき、有効桁数を十分に確保できれば科学的な観点で歪みのない表として利用することができる。
度数表の丸め処理は統計表を秘匿する方法としては一般的に用いられる手法であるが、その対象は個票データではなく集計済みの統計表であるため、そのままでは個票データの秘匿に利用することはできない。本発明における度数表を個票形式に変換する方法を応用して初めて有効な手法として個票データの秘匿に転用することが可能となる。
本発明では簡便のため単純な丸め処理による秘匿を用いているが、他にも乱数丸め等の手法を転用することも可能である。また、統計表を秘匿する手法は丸め秘匿以外にも多様に存在しており、本発明による度数表を個票形式に変換する方法を応用することで、様々な統計表の秘匿手法を個票データの秘匿手法として転用することが可能となる。
なお、丸め処理の方法には「四捨五入」以外に「切上げ」あるいは「切捨て」を用いることも可能であるが、丸め処理が異なる度数表を作成してしまうと差分によってリスクデータを特定できる可能性が生じるため、度数表の丸め処理の方法は統一して用いる必要がある。
Since rounding errors due to rounding occur with equal probability in the entire table, it can be expected that significant distortion will not occur although the accuracy of the statistical table will decrease if rounding is performed, and it is scientific if a sufficient number of effective digits can be secured. It can be used as a distortion-free table from the viewpoint.
The rounding process of the frequency table is a method generally used as a method of concealing the statistical table, but since the target is not the individual data but the aggregated statistical table, it is used as it is for concealing the individual data. You can't. Only by applying the method of converting the frequency table in the individual form in the present invention can it be diverted to the concealment of individual form data as an effective method.
In the present invention, concealment by a simple rounding process is used for the sake of simplicity, but other methods such as random number rounding can also be diverted. In addition, there are various methods for concealing statistical tables other than rounding concealment, and by applying the method of converting the frequency table into individual form according to the present invention, various methods for concealing statistical tables can be individually obtained. It can be diverted as a data concealment method.
In addition to "rounding", "rounding up" or "rounding down" can be used as the rounding method, but if a frequency table with different rounding processing is created, risk data may be identified by the difference. Therefore, it is necessary to use the same method for rounding the frequency table.

(3) 丸め秘匿の脆弱性
多次元クロス度数表は、秘匿手法として丸め処理を行うことで、ある程度の安全性が確保できることが期待できる。しかし、丸め秘匿を行っていない結果表が事前に公表されている場合については、丸め処理を行っていない合計値から内訳の逆算が可能となるケースがある。
例えば、内訳が5と1で合計が6の組合わせの場合、基数5で丸め処理を行った内訳は5と0で合計は5となるが、丸めていない合計が6であることが公表されている場合は、丸めた内訳が5と0となる組合わせは、内訳5と1、または内訳6と0しか存在しないため、1度数のセルが特定される可能性が生じるという問題がある。同様に、10と1、あるいは100と1といった組合わせについても1度数のセルが特定されてしまう可能性がある。
このため、度数表の秘匿処理としては、丸め秘匿のみでは秘匿強度が不十分になることから、他の秘匿手法を組合わせて秘匿補強を行う必要がある。
(3) Vulnerability of rounding concealment It can be expected that the multidimensional cross frequency table can be secured to some extent by performing rounding processing as a concealment method. However, if the result table without rounding concealment is published in advance, there are cases where the breakdown can be calculated back from the total value without rounding.
For example, in the case of a combination of 5 and 1 with a total of 6, the breakdown of rounding with a radix of 5 is 5 and 0, and the total is 5, but it is announced that the total without rounding is 6. If so, there is a problem that there is a possibility that a single cell may be specified because there are only breakdowns 5 and 1 or breakdowns 6 and 0 in the combination in which the rounded breakdown is 5 and 0. Similarly, there is a possibility that a cell of one frequency will be specified for a combination of 10 and 1 or 100 and 1.
For this reason, as the concealment processing of the frequency table, since the concealment strength is insufficient only by rounding concealment, it is necessary to reinforce the concealment by combining other concealment methods.

7.3.3 多次元度数表の複合秘匿
多次元クロス度数表の消去秘匿はリスクセルを含む属性項目について、項目組合わせの表単位で消去することになるため、秘匿の安全性を上げるために消去秘匿の安全基準を大きくしてしまうと多次元クロス度数表に含まれる情報が大幅に削られることになり、データの有用性が損なわれることになる。そこで、消去秘匿の安全基準は必要最小限に留めて、丸め秘匿等の補強手法を併用して複合秘匿を行うことで安全性と有用性のバランスを図る必要がある。
複合秘匿の場合の手順としては、多次元クロス度数表の集計を行った上で、(1)消去秘匿、(2)丸め秘匿(複合秘匿)、(3)差分計算、(4)個票形式変換の順で秘匿処理を行うことで秘匿済みの個票データを作成する。
7.3.3 Complex concealment of multidimensional frequency table Erasing concealment of multidimensional cross frequency table is to improve the safety of concealment because attribute items including risk cells are erased in table units of item combinations. If the safety standard for erasure concealment is increased, the information contained in the multidimensional cross frequency table will be significantly deleted, and the usefulness of the data will be impaired. Therefore, it is necessary to keep the safety standard of erasure concealment to the minimum necessary and balance safety and usefulness by performing compound concealment in combination with reinforcement methods such as rounding concealment.
In the case of compound concealment, after totaling the multidimensional cross frequency table, (1) erasure concealment, (2) rounding concealment (composite concealment), (3) difference calculation, (4) individual form Concealed individual data is created by performing concealment processing in the order of conversion.

例)消去秘匿と丸め秘匿による複合秘匿
(1)多次元クロス度数表の消去秘匿(3次元の場合)
F0符号 F1就業状態 F2性別 F3年齢 n(Frequency合計)
~~~ ~ ~ ~ 100
~~0 ~ ~ a)20〜29歳 19
~~0 ~ ~ b)30〜39歳 24
~~0 ~ ~ c)40〜49歳 23
~~0 ~ ~ d)50〜59歳 18
~~0 ~ ~ e)60〜69歳 9
~~0 ~ ~ f)70歳以上 7
~0~ ~ a)男 ~ 50
~00 ~ a)男 a)20〜29歳 10
~00 ~ a)男 b)30〜39歳 13
~00 ~ a)男 c)40〜49歳 12
~00 ~ a)男 d)50〜59歳 8
~00 ~ a)男 e)60〜69歳 4
~00 ~ a)男 f)70歳以上 3
~0~ ~ b)女 ~ 50
~00 ~ b)女 a)20〜29歳 9
~00 ~ b)女 b)30〜39歳 11
~00 ~ b)女 c)40〜49歳 11
~00 ~ b)女 d)50〜59歳 10
~00 ~ b)女 e)60〜69歳 5
~00 ~ b)女 f)70歳以上 4
0~~ a)有業 ~ ~ 53
0~0 a)有業 ~ a)20〜29歳 11
0~0 a)有業 ~ b)30〜39歳 15
0~0 a)有業 ~ c)40〜49歳 15
0~0 a)有業 ~ d)50〜59歳 9
0~0 a)有業 ~ e)60〜69歳 3
00~ a)有業 a)男 ~ 32
000 a)有業 a)男 a)20〜29歳 0 (ゼロ値置換)
000 a)有業 a)男 b)30〜39歳 0 (ゼロ値置換)
000 a)有業 a)男 c)40〜49歳 0 (ゼロ値置換)
000 a)有業 a)男 d)50〜59歳 0 (ゼロ値置換)
000 a)有業 a)男 e)60〜69歳 0 (ゼロ値置換)
00~ a)有業 b)女 ~ 21
000 a)有業 b)女 a)20〜29歳 0 (ゼロ値置換)
000 a)有業 b)女 b)30〜39歳 0 (ゼロ値置換)
000 a)有業 b)女 c)40〜49歳 0 (ゼロ値置換)
000 a)有業 b)女 d)50〜59歳 0 (ゼロ値置換)
000 a)有業 b)女 e)60〜69歳 0 (ゼロ値置換)
0~~ b)無業 ~ ~ 47
0~0 b)無業 ~ a)20〜29歳 8
0~0 b)無業 ~ b)30〜39歳 9
0~0 b)無業 ~ c)40〜49歳 8
0~0 b)無業 ~ d)50〜59歳 9
0~0 b)無業 ~ e)60〜69歳 6
0~0 b)無業 ~ f)70歳以上 7
00~ b)無業 a)男 ~ 18
000 b)無業 a)男 a)20〜29歳 0 (ゼロ値置換)
000 b)無業 a)男 b)30〜39歳 0 (ゼロ値置換)
000 b)無業 a)男 c)40〜49歳 0 (ゼロ値置換)
000 b)無業 a)男 d)50〜59歳 0 (ゼロ値置換)
000 b)無業 a)男 e)60〜69歳 0 (ゼロ値置換)
000 b)無業 a)男 f)70歳以上 0 (ゼロ値置換)
00~ b)無業 b)女 ~ 29
000 b)無業 b)女 a)20〜29歳 0 (ゼロ値置換)
000 b)無業 b)女 b)30〜39歳 0 (ゼロ値置換)
000 b)無業 b)女 c)40〜49歳 0 (ゼロ値置換)
000 b)無業 b)女 d)50〜59歳 0 (ゼロ値置換)
000 b)無業 b)女 e)60〜69歳 0 (ゼロ値置換)
000 b)無業 b)女 f)70歳以上 0 (ゼロ値置換)
Example) Combined concealment by erasing concealment and rounding concealment
(1) Concealment of erasure of multidimensional cross frequency table (in the case of 3D)
F0 sign F1 Employment status F2 Gender F3 Age n (Frequency total)
~~~ ~ ~ ~ 100
~~ 0 ~ ~ a) 20-29 years old 19
~~ 0 ~ ~ b) 30 ~ 39 years old 24
~~ 0 ~ ~ c) 40 ~ 49 years old 23
~~ 0 ~ ~ d) 50 ~ 59 years old 18
~~ 0 ~ ~ e) 60 ~ 69 years old 9
~~ 0 ~ ~ f) Over 70 years old 7
~ 0 ~ ~ a) Man ~ 50
~ 00 ~ a) Man a) 20-29 years old 10
~ 00 ~ a) Man b) 30-39 years old 13
~ 00 ~ a) Man c) 40 ~ 49 years old 12
~ 00 ~ a) Man d) 50 ~ 59 years old 8
~ 00 ~ a) Man e) 60 ~ 69 years old 4
~ 00 ~ a) Man f) Over 70 years old 3
~ 0 ~ ~ b) Woman ~ 50
~ 00 ~ b) Woman a) 20-29 years old 9
~ 00 ~ b) Woman b) 30-39 years old 11
~ 00 ~ b) Woman c) 40-49 years old 11
~ 00 ~ b) Woman d) 50 ~ 59 years old 10
~ 00 ~ b) Woman e) 60-69 years old 5
~ 00 ~ b) Woman f) Over 70 years old 4
0 ~~ a) Working ~~ 53
0 ~ 0 a) Working ~ a) 20 ~ 29 years old 11
0 ~ 0 a) Working ~ b) 30 ~ 39 years old 15
0 ~ 0 a) Working ~ c) 40 ~ 49 years old 15
0 ~ 0 a) Working ~ d) 50 ~ 59 years old 9
0 ~ 0 a) Working ~ e) 60 ~ 69 years old 3
00 ~ a) Working a) Man ~ 32
000 a) Working a) Male a) 20-29 years old 0 (zero value replacement)
000 a) Working a) Male b) 30-39 years old 0 (zero value replacement)
000 a) Working a) Male c) 40-49 years old 0 (zero value replacement)
000 a) Working a) Male d) 50-59 years old 0 (zero value replacement)
000 a) Working a) Male e) 60-69 years old 0 (zero value replacement)
00 ~ a) Working b) Woman ~ 21
000 a) Working b) Woman a) 20-29 years old 0 (zero value replacement)
000 a) Working b) Woman b) 30-39 years old 0 (zero value replacement)
000 a) Working b) Woman c) 40-49 years old 0 (zero value replacement)
000 a) Working b) Woman d) 50-59 years old 0 (zero value replacement)
000 a) Working b) Woman e) 60-69 years old 0 (zero value replacement)
0 ~~ b) Unemployed ~ ~ 47
0 ~ 0 b) Unemployed ~ a) 20 ~ 29 years old 8
0 ~ 0 b) Unemployed ~ b) 30 ~ 39 years old 9
0 ~ 0 b) Unemployed ~ c) 40 ~ 49 years old 8
0 ~ 0 b) Unemployed ~ d) 50 ~ 59 years old 9
0 ~ 0 b) Unemployed ~ e) 60 ~ 69 years old 6
0 ~ 0 b) Unemployed ~ f) 70 years old and over 7
00 ~ b) Unemployed a) Man ~ 18
000 b) Unemployed a) Man a) 20-29 years old 0 (zero value replacement)
000 b) Unemployed a) Male b) 30-39 years old 0 (zero value replacement)
000 b) Unemployed a) Male c) 40-49 years old 0 (zero value replacement)
000 b) Unemployed a) Man d) 50-59 years old 0 (zero value replacement)
000 b) Unemployed a) Male e) 60-69 years old 0 (zero value replacement)
000 b) Unemployed a) Male f) Over 70 years old 0 (zero value replacement)
00 ~ b) Unemployed b) Woman ~ 29
000 b) Unemployed b) Woman a) 20-29 years old 0 (zero value replacement)
000 b) Unemployed b) Woman b) 30-39 years old 0 (zero value replacement)
000 b) Unemployed b) Woman c) 40-49 years old 0 (zero value replacement)
000 b) Unemployed b) Woman d) 50-59 years old 0 (zero value replacement)
000 b) Unemployed b) Woman e) 60-69 years old 0 (zero value replacement)
000 b) Unemployed b) Woman f) Over 70 years old 0 (zero value replacement)

(2) 多次元度数表の丸め秘匿(丸め基数5の場合)
F0符号 F1就業状態 F2性別 F3年齢 n(Frequency合計)
~~~ ~ ~ ~ 100
~~0 ~ ~ a)20〜29歳 20
~~0 ~ ~ b)30〜39歳 25
~~0 ~ ~ c)40〜49歳 25
~~0 ~ ~ d)50〜59歳 20
~~0 ~ ~ e)60〜69歳 10
~~0 ~ ~ f)70歳以上 5
~0~ ~ a)男 ~ 50
~00 ~ a)男 a)20〜29歳 10
~00 ~ a)男 b)30〜39歳 15
~00 ~ a)男 c)40〜49歳 10
~00 ~ a)男 d)50〜59歳 10
~00 ~ a)男 e)60〜69歳 5
~00 ~ a)男 f)70歳以上 5
~0~ ~ b)女 ~ 50
~00 ~ b)女 a)20〜29歳 10
~00 ~ b)女 b)30〜39歳 10
~00 ~ b)女 c)40〜49歳 10
~00 ~ b)女 d)50〜59歳 10
~00 ~ b)女 e)60〜69歳 5
~00 ~ b)女 f)70歳以上 5
0~~ a)有業 ~ ~ 55
0~0 a)有業 ~ a)20〜29歳 10
0~0 a)有業 ~ b)30〜39歳 15
0~0 a)有業 ~ c)40〜49歳 15
0~0 a)有業 ~ d)50〜59歳 10
0~0 a)有業 ~ e)60〜69歳 5
00~ a)有業 a)男 ~ 30
000 a)有業 a)男 a)20〜29歳 0
000 a)有業 a)男 b)30〜39歳 0
000 a)有業 a)男 c)40〜49歳 0
000 a)有業 a)男 d)50〜59歳 0
000 a)有業 a)男 e)60〜69歳 0
00~ a)有業 b)女 ~ 20
000 a)有業 b)女 a)20〜29歳 0
000 a)有業 b)女 b)30〜39歳 0
000 a)有業 b)女 c)40〜49歳 0
000 a)有業 b)女 d)50〜59歳 0
000 a)有業 b)女 e)60〜69歳 0
0~~ b)無業 ~ ~ 45
0~0 b)無業 ~ a)20〜29歳 10
0~0 b)無業 ~ b)30〜39歳 10
0~0 b)無業 ~ c)40〜49歳 10
0~0 b)無業 ~ d)50〜59歳 10
0~0 b)無業 ~ e)60〜69歳 5
0~0 b)無業 ~ f)70歳以上 5
00~ b)無業 a)男 ~ 20
000 b)無業 a)男 a)20〜29歳 0
000 b)無業 a)男 b)30〜39歳 0
000 b)無業 a)男 c)40〜49歳 0
000 b)無業 a)男 d)50〜59歳 0
000 b)無業 a)男 e)60〜69歳 0
000 b)無業 a)男 f)70歳以上 0
00~ b)無業 b)女 ~ 30
000 b)無業 b)女 a)20〜29歳 0
000 b)無業 b)女 b)30〜39歳 0
000 b)無業 b)女 c)40〜49歳 0
000 b)無業 b)女 d)50〜59歳 0
000 b)無業 b)女 e)60〜69歳 0
000 b)無業 b)女 f)70歳以上 0
(2) Concealment of rounding of multidimensional frequency table (when rounding radix is 5)
F0 sign F1 Employment status F2 Gender F3 Age n (Frequency total)
~~~ ~ ~ ~ 100
~~ 0 ~ ~ a) 20 ~ 29 years old 20
~~ 0 ~ ~ b) 30 ~ 39 years old 25
~~ 0 ~ ~ c) 40 ~ 49 years old 25
~~ 0 ~ ~ d) 50 ~ 59 years old 20
~~ 0 ~ ~ e) 60 ~ 69 years old 10
~~ 0 ~ ~ f) Over 70 years old 5
~ 0 ~ ~ a) Man ~ 50
~ 00 ~ a) Man a) 20-29 years old 10
~ 00 ~ a) Man b) 30-39 years old 15
~ 00 ~ a) Man c) 40 ~ 49 years old 10
~ 00 ~ a) Man d) 50 ~ 59 years old 10
~ 00 ~ a) Man e) 60-69 years old 5
~ 00 ~ a) Man f) Over 70 years old 5
~ 0 ~ ~ b) Woman ~ 50
~ 00 ~ b) Woman a) 20-29 years old 10
~ 00 ~ b) Woman b) 30-39 years old 10
~ 00 ~ b) Woman c) 40 ~ 49 years old 10
~ 00 ~ b) Woman d) 50 ~ 59 years old 10
~ 00 ~ b) Woman e) 60-69 years old 5
~ 00 ~ b) Woman f) Over 70 years old 5
0 ~~ a) Working ~~ 55
0 ~ 0 a) Working ~ a) 20 ~ 29 years old 10
0 ~ 0 a) Working ~ b) 30 ~ 39 years old 15
0 ~ 0 a) Working ~ c) 40 ~ 49 years old 15
0 ~ 0 a) Working ~ d) 50 ~ 59 years old 10
0 ~ 0 a) Working ~ e) 60 ~ 69 years old 5
00 ~ a) Working a) Man ~ 30
000 a) Working a) Man a) 20-29 years old 0
000 a) Working a) Man b) 30-39 years old 0
000 a) Working a) Man c) 40-49 years old 0
000 a) Working a) Man d) 50-59 years old 0
000 a) Working a) Man e) 60-69 years old 0
00 ~ a) Working b) Woman ~ 20
000 a) Working b) Woman a) 20-29 years old 0
000 a) Working b) Woman b) 30-39 years old 0
000 a) Working b) Woman c) 40-49 years old 0
000 a) Working b) Woman d) 50-59 years old 0
000 a) Working b) Woman e) 60-69 years old 0
0 ~~ b) Unemployed ~ ~ 45
0 ~ 0 b) Unemployed ~ a) 20 ~ 29 years old 10
0 ~ 0 b) Unemployed ~ b) 30 ~ 39 years old 10
0 ~ 0 b) Unemployed ~ c) 40 ~ 49 years old 10
0 ~ 0 b) Unemployed ~ d) 50 ~ 59 years old 10
0 ~ 0 b) Unemployed ~ e) 60 ~ 69 years old 5
0 ~ 0 b) Unemployed ~ f) 70 years old and over 5
00 ~ b) Unemployed a) Man ~ 20
000 b) Unemployed a) Man a) 20-29 years old 0
000 b) Unemployed a) Man b) 30-39 years old 0
000 b) Unemployed a) Man c) 40-49 years old 0
000 b) Unemployed a) Man d) 50-59 years old 0
000 b) Unemployed a) Man e) 60-69 years old 0
000 b) Unemployed a) Man f) Over 70 years old 0
00 ~ b) Unemployed b) Woman ~ 30
000 b) Unemployed b) Woman a) 20-29 years old 0
000 b) Unemployed b) Woman b) 30-39 years old 0
000 b) Unemployed b) Woman c) 40-49 years old 0
000 b) Unemployed b) Woman d) 50-59 years old 0
000 b) Unemployed b) Woman e) 60-69 years old 0
000 b) Unemployed b) Woman f) Over 70 years old 0

(3)複合秘匿済多次元度数表の差分計算(属性符号「〜」は差分を示す。)
F1就業状態 F2性別 F3年齢 n(Frequency合計)
a)有業 a)男 〜 30
a)有業 b)女 〜 20
a)有業 〜 a)20〜29歳 10
a)有業 〜 b)30〜39歳 15
a)有業 〜 c)40〜49歳 15
a)有業 〜 d)50〜59歳 10
a)有業 〜 e)60〜69歳 5
a)有業 〜 〜 -50
b)無業 a)男 〜 20
b)無業 b)女 〜 30
b)無業 〜 a)20〜29歳 10
b)無業 〜 b)30〜39歳 10
b)無業 〜 c)40〜49歳 10
b)無業 〜 d)50〜59歳 10
b)無業 〜 e)60〜69歳 5
b)無業 〜 f)70歳以上 5
b)無業 〜 〜 -55
〜 a)男 a)20〜29歳 10
〜 a)男 b)30〜39歳 15
〜 a)男 c)40〜49歳 10
〜 a)男 d)50〜59歳 10
〜 a)男 e)60〜69歳 5
〜 a)男 f)70歳以上 5
〜 a)男 〜 -55
〜 b)女 a)20〜29歳 10
〜 b)女 b)30〜39歳 10
〜 b)女 c)40〜49歳 10
〜 b)女 d)50〜59歳 10
〜 b)女 e)60〜69歳 5
〜 b)女 f)70歳以上 5
〜 b)女 〜 -50
〜 〜 a)20〜29歳 -20
〜 〜 b)30〜39歳 -25
〜 〜 c)40〜49歳 -20
〜 〜 d)50〜59歳 -20
〜 〜 e)60〜69歳 -10
〜 〜 f)70歳以上 -10
〜 〜 〜 105
(3) Difference calculation of compound concealed multidimensional frequency table (attribute code "~" indicates difference)
F1 Employment status F2 Gender F3 Age n (Frequency total)
a) Working a) Man ~ 30
a) Working b) Woman ~ 20
a) Working ~ a) 20 ~ 29 years old 10
a) Working ~ b) 30 ~ 39 years old 15
a) Working ~ c) 40 ~ 49 years old 15
a) Employed ~ d) 50 ~ 59 years old 10
a) Employed ~ e) 60 ~ 69 years old 5
a) Working ~ ~ ~ -50
b) Unemployed a) Man ~ 20
b) Unemployed b) Woman ~ 30
b) Unemployed ~ a) 20 ~ 29 years old 10
b) Unemployed ~ b) 30 ~ 39 years old 10
b) Unemployed ~ c) 40 ~ 49 years old 10
b) Unemployed ~ d) 50 ~ 59 years old 10
b) Unemployed ~ e) 60 ~ 69 years old 5
b) Unemployed ~ f) 70 years old and over 5
b) Unemployed ~ ~ ~ -55
~ A) Man a) 20 ~ 29 years old 10
~ A) Man b) 30 ~ 39 years old 15
~ A) Man c) 40 ~ 49 years old 10
~ A) Man d) 50 ~ 59 years old 10
~ A) Man e) 60 ~ 69 years old 5
~ A) Man f) Over 70 years old 5
~ A) Man ~ -55
~ B) Woman a) 20 ~ 29 years old 10
~ B) Woman b) 30 ~ 39 years old 10
~ B) Woman c) 40 ~ 49 years old 10
~ B) Woman d) 50 ~ 59 years old 10
~ B) Woman e) 60 ~ 69 years old 5
~ B) Woman f) Over 70 years old 5
~ B) Woman ~ -50
~ ~ A) 20 ~ 29 years old -20
~ ~ B) 30 ~ 39 years old -25
~ ~ C) 40 ~ 49 years old -20
~ ~ D) 50 ~ 59 years old -20
~ ~ E) 60 ~ 69 years old -10
~ ~ F) 70 years old and over -10
~ ~ ~ 105

(4)個票データ形式変換(縮尺1の場合)
F1就業状態 F2性別 F3年齢 Weight
a)有業 a)男 〜 1 ( 30レコード出力)
a)有業 b)女 〜 1 ( 20レコード出力)
a)有業 〜 a)20〜29歳 1 ( 10レコード出力)
a)有業 〜 b)30〜39歳 1 ( 15レコード出力)
a)有業 〜 c)40〜49歳 1 ( 15レコード出力)
a)有業 〜 d)50〜59歳 1 ( 10レコード出力)
a)有業 〜 e)60〜69歳 1 ( 5レコード出力)
a)有業 〜 〜 -1 ( 50レコード出力)
b)無業 a)男 〜 1 ( 20レコード出力)
b)無業 b)女 〜 1 ( 30レコード出力)
b)無業 〜 a)20〜29歳 1 ( 10レコード出力)
b)無業 〜 b)30〜39歳 1 ( 10レコード出力)
b)無業 〜 c)40〜49歳 1 ( 10レコード出力)
b)無業 〜 d)50〜59歳 1 ( 10レコード出力)
b)無業 〜 e)60〜69歳 1 ( 5レコード出力)
b)無業 〜 f)70歳以上 1 ( 5レコード出力)
b)無業 〜 〜 -1 ( 55レコード出力)
〜 a)男 a)20〜29歳 1 ( 10レコード出力)
〜 a)男 b)30〜39歳 1 ( 15レコード出力)
〜 a)男 c)40〜49歳 1 ( 10レコード出力)
〜 a)男 d)50〜59歳 1 ( 10レコード出力)
〜 a)男 e)60〜69歳 1 ( 5レコード出力)
〜 a)男 f)70歳以上 1 ( 5レコード出力)
〜 a)男 〜 -1 ( 55レコード出力)
〜 b)女 a)20〜29歳 1 ( 10レコード出力)
〜 b)女 b)30〜39歳 1 ( 10レコード出力)
〜 b)女 c)40〜49歳 1 ( 10レコード出力)
〜 b)女 d)50〜59歳 1 ( 10レコード出力)
〜 b)女 e)60〜69歳 1 ( 5レコード出力)
〜 b)女 f)70歳以上 1 ( 5レコード出力)
〜 b)女 〜 -1 ( 50レコード出力)
〜 〜 a)20〜29歳 -1 ( 20レコード出力)
〜 〜 b)30〜39歳 -1 ( 25レコード出力)
〜 〜 c)40〜49歳 -1 ( 20レコード出力)
〜 〜 d)50〜59歳 -1 ( 20レコード出力)
〜 〜 e)60〜69歳 -1 ( 10レコード出力)
〜 〜 f)70歳以上 -1 ( 10レコード出力)
〜 〜 〜 1 (105レコード出力)
(4) Individual form data format conversion (when scale is 1)
F1 Employment Status F2 Gender F3 Age Weight
a) Working a) Man ~ 1 (30 record output)
a) Working b) Woman ~ 1 (20 records output)
a) Working ~ a) 20 ~ 29 years old 1 (10 record output)
a) Working ~ b) 30 ~ 39 years old 1 (15 record output)
a) Working ~ c) 40 ~ 49 years old 1 (15 record output)
a) Working ~ d) 50 ~ 59 years old 1 (10 record output)
a) Working ~ e) 60 ~ 69 years old 1 (5 record output)
a) Working ~ ~ -1 (50 record output)
b) Unemployed a) Man ~ 1 (20 records output)
b) Unemployed b) Woman ~ 1 (30 record output)
b) Unemployed ~ a) 20 ~ 29 years old 1 (10 record output)
b) Unemployed ~ b) 30 ~ 39 years old 1 (10 record output)
b) Unemployed ~ c) 40 ~ 49 years old 1 (10 record output)
b) Unemployed ~ d) 50 ~ 59 years old 1 (10 record output)
b) Unemployed ~ e) 60 ~ 69 years old 1 (5 record output)
b) Unemployed ~ f) 70 years old and over 1 (5 record output)
b) Unemployed ~ ~ -1 (55 record output)
~ A) Man a) 20 ~ 29 years old 1 (10 record output)
~ A) Man b) 30 ~ 39 years old 1 (15 record output)
~ A) Man c) 40 ~ 49 years old 1 (10 record output)
~ A) Man d) 50 ~ 59 years old 1 (10 record output)
~ A) Man e) 60 ~ 69 years old 1 (5 record output)
~ A) Male f) 70 years old and over 1 (5 record output)
~ A) Man ~ -1 (55 record output)
~ B) Woman a) 20 ~ 29 years old 1 (10 record output)
~ B) Woman b) 30 ~ 39 years old 1 (10 record output)
~ B) Woman c) 40 ~ 49 years old 1 (10 record output)
~ B) Woman d) 50 ~ 59 years old 1 (10 record output)
~ B) Woman e) 60 ~ 69 years old 1 (5 record output)
~ B) Woman f) 70 years old and over 1 (5 record output)
~ B) Woman ~ -1 (50 record output)
~ ~ A) 20 ~ 29 years old -1 (20 record output)
~ ~ B) 30 ~ 39 years old -1 (25 record output)
~ ~ C) 40 ~ 49 years old -1 (20 record output)
~ ~ D) 50 ~ 59 years old -1 (20 record output)
~ ~ E) 60 ~ 69 years old -1 (10 record output)
~ ~ F) 70 years old and over -1 (10 record output)
~ ~ ~ 1 (105 record output)

7.4 多次元クロス秘匿度数表の個票データ形式変換
秘匿処理を行った多次元クロス秘匿度数表は、差分計算を行った上で個票データ形式に変換処理を行う。
7.4 Conversion of individual data format of multidimensional cross concealment frequency table The multidimensional cross concealment frequency table that has undergone concealment processing is converted to individual data format after performing difference calculation.

(1)差分計算
丸め処理を行った度数表は丸め誤差のため、総数と内訳合計が一致しない場合が多い。そこで、総数と内訳合計の差分について計算を行う。
差分計算については、多次元クロス度数表の逆処理により再帰計算を行う。すなわち、第1番目の属性項目について合計符号(“〜”)の度数をゼロ値、それ以外の度数をマイナスとして属性項目を合計符号(“〜”)に置き換えたレコードを入力データのレコードに追加して出力し、次にこの出力データを入力データとして用いる再帰処理により、第2番目の属性項目について合計符号(“〜”)の度数をゼロ値、それ以外の度数をマイナスとして属性項目を合計符号(“〜”)に置き換えたレコードを入力データのレコードに追加して出力し、これを全ての属性項目について第j番目まで繰り返すことで多次元クロス度数表の立体的な差分計算を行う。差分計算において総数符号(“〜”)は差分を示す差分符号として扱い、計算後にnull値に置換えを行う。
なお、プログラム上は計算量と計算時間を節約するため、再帰計算の都度、同一属性レコードごとに出力データの度数について足し上げ計算を行っている。また、ここでは再帰計算による多次元クロス度数表の差分計算について説明しているが、属性項目の全ての組合わせ別に差分を求める方法であれば、再帰計算を用いない方法で計算してもよい。
(1) Difference calculation Due to the rounding error in the rounded frequency table, the total number and the total breakdown often do not match. Therefore, the difference between the total number and the total breakdown is calculated.
For the difference calculation, the recursive calculation is performed by the reverse processing of the multidimensional cross frequency table. That is, for the first attribute item, a record in which the frequency of the total code (“~”) is set to zero and the other frequencies are negative and the attribute item is replaced with the total code (“~”) is added to the input data record. Then, by recursive processing using this output data as input data, the frequency of the total code (“~”) for the second attribute item is set to zero, and the other frequencies are set to minus, and the attribute items are totaled. The record replaced with the code (“~”) is added to the input data record and output, and this is repeated up to the jth for all the attribute items to perform the three-dimensional difference calculation of the multidimensional cross frequency table. In the difference calculation, the total number code (“~”) is treated as a difference code indicating the difference, and is replaced with a null value after the calculation.
In addition, in order to save the calculation amount and the calculation time in the program, the frequency of the output data is added up for each record of the same attribute each time the recursive calculation is performed. In addition, although the difference calculation of the multidimensional cross frequency table by recursive calculation is explained here, if it is a method of obtaining the difference for all combinations of attribute items, the calculation may be performed by a method that does not use recursive calculation. ..

第1番目の再帰差分計算
再帰計算による多次元クロス度数表データについて丸め処理を行って、入力データとして用いる。

[前段]入力データを変更せずに出力
F1 F2 ・・・ Fj n’
~ ~ ・・・ ~ t(~,~,・・・,~)’ 第1項が~
~ ~ ・・・ C1,j t(~,~,・・・,C1,j)’ 第1項が~
~ ~ ・・・ C2,j t(~,~,・・・,C2,j)’ 第1項が~
~ ~ ・・・ C3,j t(~,~,・・・,C3,j)’ 第1項が~
・・・
~ ~ ・・・ Ci,j t(~,~,・・・,Ci,j)’ 第1項が~
・・・
~ C1,2 ・・・ ~ t(~,C1,2,・・・,~)’ 第1項が~
~ C2,2 ・・・ ~ t(~,C2,2,・・・,~)’ 第1項が~
~ C3,2 ・・・ ~ t(~,C3,2,・・・,~)’ 第1項が~
・・・
~ Ci,2 ・・・ ~ t(~,Ci,2,・・・,~)’ 第1項が~
・・・
~ C1,2 ・・・ C1,j t(~,C1,2,・・・,C1,j)’ 第1項が~
~ C2,2 ・・・ C2,j t(~,C2,2,・・・,C2,j)’ 第1項が~
~ C3,2 ・・・ C3,j t(~,C3,2,・・・,C3,j)’ 第1項が~
・・・
~ Ci,2 ・・・ Ci,j t(~,Ci,2,・・・,Ci,j)’ 第1項が~
・・・
C1,1 ~ ・・・ ~ t(C1,1,~ ,・・・,~)’ 第1項がC1,1
C2,1 ~ ・・・ ~ t(C2,1,~ ,・・・,~)’ 第1項がC2,1
C3,1 ~ ・・・ ~ t(C3,1,~ ,・・・,~)’ 第1項がC3,1
・・・
Ci,1 ~ ・・・ ~ t(Ci,1,~ ,・・・,~)’ 第1項がCi,1
・・・
C1,1 ~ ・・・ C1,j t(C1,1,~ ,・・・,C1,j)’ 第1項がC1,1
C2,1 ~ ・・・ C2,j t(C2,1,~ ,・・・,C2,j)’ 第1項がC2,1
C3,1 ~ ・・・ C3,j t(C3,1,~ ,・・・,C3,j)’ 第1項がC3,1
・・・
Ci,1 ~ ・・・ Ci,j t(Ci,1,~ ,・・・,Ci,j)’ 第1項がCi,1
・・・
C1,1 C1,2 ・・・ ~ t(C1,1,C1,2,・・・,~)’ 第1項がC1,1
C2,1 C2,2 ・・・ ~ t(C2,1,C2,2,・・・,~)’ 第1項がC2,1
C3,1 C3,2 ・・・ ~ t(C3,1,C3,2,・・・,~)’ 第1項がC3,1
・・・
Ci,1 Ci,2 ・・・ ~ t(Ci,1,Ci,2,・・・,~)’ 第1項がCi,1
・・・
C1,1 C1,2 ・・・ C1,j n1’ 第1項がC1,1
C2,1 C2,2 ・・・ C2,j n2’ 第1項がC2,1
C3,1 C3,2 ・・・ C3,j n3’ 第1項がC3,1
・・・
Ci,1 Ci,2 ・・・ Ci,j ni’ 第1項がCi,1

[後段]入力データを変更して出力(変更前)
~ ~ ・・・ ~ 0 第1項が~
~ ~ ・・・ C1,j 0 第1項が~
~ ~ ・・・ C2,j 0 第1項が~
~ ~ ・・・ C3,j 0 第1項が~
・・・
~ ~ ・・・ Ci,j 0 第1項が~
・・・
~ C1,2 ・・・ ~ 0 第1項が~
~ C2,2 ・・・ ~ 0 第1項が~
~ C3,2 ・・・ ~ 0 第1項が~
・・・
~ Ci,2 ・・・ ~ 0 第1項が~
・・・
~ C1,2 ・・・ C1,j 0 第1項が~
~ C2,2 ・・・ C2,j 0 第1項が~
~ C3,2 ・・・ C3,j 0 第1項が~
・・・
~ Ci,2 ・・・ Ci,j 0 第1項が~
・・・
~ ~ ・・・ ~ -t(C1,1,~ ,・・・,~)’ 第1項がC1,1
~ ~ ・・・ ~ -t(C2,1,~ ,・・・,~)’ 第1項がC2,1
~ ~ ・・・ ~ -t(C3,1,~ ,・・・,~)’ 第1項がC3,1
・・・
~ ~ ・・・ ~ -t(Ci,1,~ ,・・・,~)’ 第1項がCi,1
・・・
~ ~ ・・・ C1,j -t(C1,1,~ ,・・・,C1,j)’ 第1項がC1,1
~ ~ ・・・ C2,j -t(C2,1,~ ,・・・,C2,j)’ 第1項がC2,1
~ ~ ・・・ C3,j -t(C3,1,~ ,・・・,C3,j)’ 第1項がC3,1
・・・
~ ~ ・・・ Ci,j -t(Ci,1,~ ,・・・,Ci,j)’ 第1項がCi,1
・・・
~ C1,2 ・・・ ~ -t(C1,1,C1,2,・・・,~)’ 第1項がC1,1
~ C2,2 ・・・ ~ -t(C2,1,C2,2,・・・,~)’ 第1項がC2,1
~ C3,2 ・・・ ~ -t(C3,1,C3,2,・・・,~)’ 第1項がC3,1
・・・
~ Ci,2 ・・・ ~ -t(Ci,1,Ci,2,・・・,~)’ 第1項がCi,1
・・・
~ C1,2 ・・・ C1,j -n1’ 第1項がC1,1
~ C2,2 ・・・ C2,j -n2’ 第1項がC2,1
~ C3,2 ・・・ C3,j -n3’ 第1項がC3,1
・・・
~ Ci,2 ・・・ Ci,j -ni’ 第1項がCi,1

上記の出力データについて、同一属性別に度数Nの足し上げを行う。
First recursive difference calculation The multidimensional cross frequency table data by recursive calculation is rounded and used as input data.

[Previous stage] Output without changing the input data F1 F2 ・ ・ ・ Fj n'
~ ~ ・ ・ ・ ~ T (~, ~, ・ ・ ・, ~)'The first term is ~
~ ~ ・ ・ ・ C1, jt (~, ~, ・ ・ ・, C1, j)'The first term is ~
~ ~ ・ ・ ・ C2, jt (~, ~, ・ ・ ・, C2, j)'The first term is ~
~ ~ ・ ・ ・ C3, jt (~, ~, ・ ・ ・, C3, j)'The first term is ~
・ ・ ・
~ ~ ・ ・ ・ Ci, jt (~, ~, ・ ・ ・, Ci, j)'The first term is ~
・ ・ ・
~ C1,2 ・ ・ ・ ~ t (~, C1,2, ・ ・ ・, ~)'The first term is ~
~ C2,2 ・ ・ ・ ~ t (~, C2,2, ・ ・ ・, ~)'The first term is ~
~ C3,2 ・ ・ ・ ~ t (~, C3,2, ・ ・ ・, ~)'The first term is ~
・ ・ ・
~ Ci, 2 ・ ・ ・ ~ t (~, Ci, 2, ・ ・ ・, ~)'The first term is ~
・ ・ ・
~ C1,2 ・ ・ ・ C1, jt (~, C1,2, ・ ・ ・, C1, j)'The first term is ~
~ C2,2 ・ ・ ・ C2, jt (~, C2,2, ・ ・ ・, C2, j)'The first term is ~
~ C3,2 ・ ・ ・ C3, jt (~, C3,2, ・ ・ ・, C3, j)'The first term is ~
・ ・ ・
~ Ci, 2 ・ ・ ・ Ci, jt (~, Ci, 2, ・ ・ ・, Ci, j)'The first term is ~
・ ・ ・
C1,1 ~ ・ ・ ・ ~ t (C1,1, ~, ・ ・ ・, ~)'The first term is C1,1
C2,1 ~ ・ ・ ・ ~ t (C2,1, ~, ・ ・ ・, ~)'The first term is C2,1
C3,1 ~ ・ ・ ・ ~ t (C3,1, ~, ・ ・ ・, ~)'The first term is C3,1
・ ・ ・
Ci, 1 ~ ・ ・ ・ ~ t (Ci, 1, ~, ・ ・ ・, ~)'The first term is Ci, 1
・ ・ ・
C1,1 ~ ・ ・ ・ C1, jt (C1,1, ~, ・ ・ ・, C1, j)'The first term is C1,1
C2,1 ~ ・ ・ ・ C2, jt (C2,1, ~, ・ ・ ・, C2, j)'The first term is C2,1
C3,1 ~ ・ ・ ・ C3, jt (C3,1, ~, ・ ・ ・, C3, j)'The first term is C3,1
・ ・ ・
Ci, 1 ~ ・ ・ ・ Ci, jt (Ci, 1, ~, ・ ・ ・, Ci, j)'The first term is Ci, 1
・ ・ ・
C1,1 C1,2 ・ ・ ・ ~ t (C1,1, C1,2, ・ ・ ・, ~)'The first term is C1,1
C2,1 C2,2 ・ ・ ・ ~ t (C2,1, C2,2, ・ ・ ・, ~)'The first term is C2,1
C3,1 C3,2 ・ ・ ・ ~ t (C3,1, C3,2, ・ ・ ・, ~)'The first term is C3,1
・ ・ ・
Ci, 1 Ci, 2 ・ ・ ・ ~ t (Ci, 1, Ci, 2, ・ ・ ・, ~)'The first term is Ci, 1
・ ・ ・
C1,1 C1,2 ・ ・ ・ C1, j n1'The first term is C1,1
C2,1 C2,2 ・ ・ ・ C2, j n2'The first term is C2,1
C3,1 C3,2 ・ ・ ・ C3, j n3'The first term is C3,1
・ ・ ・
Ci, 1 Ci, 2 ・ ・ ・ Ci, j ni'The first term is Ci, 1

[Second stage] Change the input data and output (before change)
~ ~ ・ ・ ・ ~ 0 The first term is ~
~ ~ ・ ・ ・ C1, j 0 The first term is ~
~ ~ ・ ・ ・ C2, j 0 The first term is ~
~ ~ ・ ・ ・ C3, j 0 The first term is ~
・ ・ ・
~ ~ ・ ・ ・ Ci, j 0 The first term is ~
・ ・ ・
~ C1,2 ・ ・ ・ ~ 0 The first term is ~
~ C2,2 ・ ・ ・ ~ 0 The first term is ~
~ C3,2 ・ ・ ・ ~ 0 The first term is ~
・ ・ ・
~ Ci, 2 ・ ・ ・ ~ 0 The first term is ~
・ ・ ・
~ C1,2 ・ ・ ・ C1, j 0 The first term is ~
~ C2,2 ・ ・ ・ C2, j 0 The first term is ~
~ C3,2 ・ ・ ・ C3, j 0 The first term is ~
・ ・ ・
~ Ci, 2 ・ ・ ・ Ci, j 0 The first term is ~
・ ・ ・
~ ~ ・ ・ ・ ~ ~ -T (C1,1, ~, ・ ・ ・, ~)'The first term is C1,1
~ ~ ・ ・ ・ ~ ~ -T (C2,1, ~, ・ ・ ・, ~)'The first term is C2,1
~ ~ ・ ・ ・ ~ ~ -T (C3,1, ~, ・ ・ ・, ~)'The first term is C3,1
・ ・ ・
~ ~ ・ ・ ・ ~ ~ -T (Ci, 1, ~, ・ ・ ・, ~)'The first term is Ci, 1
・ ・ ・
~ ~ ・ ・ ・ C1, j -t (C1,1, ~, ・ ・ ・, C1, j)'The first term is C1,1
~ ~ ・ ・ ・ C2, j -t (C2,1, ~, ・ ・ ・, C2, j)'The first term is C2,1
~ ~ ・ ・ ・ C3, j -t (C3,1, ~, ・ ・ ・, C3, j)'The first term is C3,1
・ ・ ・
~ ~ ・ ・ ・ Ci, j -t (Ci, 1, ~, ・ ・ ・, Ci, j)'The first term is Ci, 1
・ ・ ・
~ C1,2 ・ ・ ・ ~ -t (C1,1, C1,2, ・ ・ ・, ~)'The first term is C1,1
~ C2,2 ・ ・ ・ ~ -t (C2,1, C2,2, ・ ・ ・, ~)'The first term is C2,1
~ C3,2 ・ ・ ・ ~ -t (C3,1, C3,2, ・ ・ ・, ~)'The first term is C3,1
・ ・ ・
~ Ci, 2 ・ ・ ・ ~ -t (Ci, 1, Ci, 2, ・ ・ ・, ~)'The first term is Ci, 1
・ ・ ・
~ C1,2 ・ ・ ・ C1, j -n1'The first term is C1,1
~ C2,2 ・ ・ ・ C2, j -n2'The first term is C2,1
~ C3,2 ・ ・ ・ C3, j -n3'The first term is C3,1
・ ・ ・
~ Ci, 2 ・ ・ ・ Ci, j -ni'The first term is Ci, 1

For the above output data, the frequency N is added for each same attribute.

第2番目の再帰差分計算
入力データとして、第1番目の再帰差分計算結果を入力に用いる。

[前段]入力データを変更せずに出力
F1 F2 ・・・ Fj n’
~ ~ ・・・ ~ t(~,~,・・・,~)’ 第2項が~
~ ~ ・・・ C1,j t(~,~,・・・,C1,j)’ 第2項が~
~ ~ ・・・ C2,j t(~,~,・・・,C2,j)’ 第2項が~
~ ~ ・・・ C3,j t(~,~,・・・,C3,j)’ 第2項が~
・・・
~ ~ ・・・ Ci,j t(~,~,・・・,Ci,j)’ 第2項が~
・・・
~ C1,2 ・・・ ~ t(~,C1,2,・・・,~)’ 第2項がC1,2
~ C2,2 ・・・ ~ t(~,C2,2,・・・,~)’ 第2項がC2,2
~ C3,2 ・・・ ~ t(~,C3,2,・・・,~)’ 第2項がC3,2
・・・
~ Ci,2 ・・・ ~ t(~,Ci,2,・・・,~)’ 第2項がCi,2
・・・
~ C1,2 ・・・ C1,j t(~,C1,2,・・・,C1,j)’ 第2項がC1,2
~ C2,2 ・・・ C2,j t(~,C2,2,・・・,C2,j)’ 第2項がC2,2
~ C3,2 ・・・ C3,j t(~,C3,2,・・・,C3,j)’ 第2項がC3,2
・・・
~ Ci,2 ・・・ Ci,j t(~,Ci,2,・・・,Ci,j)’ 第2項がCi,2
・・・
C1,1 ~ ・・・ ~ t(C1,1,~ ,・・・,~)’ 第2項が~
C2,1 ~ ・・・ ~ t(C2,1,~ ,・・・,~)’ 第2項が~
C3,1 ~ ・・・ ~ t(C3,1,~ ,・・・,~)’ 第2項が~
・・・
Ci,1 ~ ・・・ ~ t(Ci,1,~ ,・・・,~)’ 第2項が~
・・・
C1,1 ~ ・・・ C1,j t(C1,1,~ ,・・・,C1,j)’第2項が~
C2,1 ~ ・・・ C2,j t(C2,1,~ ,・・・,C2,j)’第2項が~
C3,1 ~ ・・・ C3,j t(C3,1,~ ,・・・,C3,j)’第2項が~
・・・
Ci,1 ~ ・・・ Ci,j t(Ci,1,~ ,・・・,Ci,j)’第2項が~
・・・
C1,1 C1,2 ・・・ ~ t(C1,1,C1,2,・・・,~)’ 第2項がC1,2
C2,1 C2,2 ・・・ ~ t(C2,1,C2,2,・・・,~)’ 第2項がC2,2
C3,1 C3,2 ・・・ ~ t(C3,1,C3,2,・・・,~)’ 第2項が~
・・・
Ci,1 Ci,2 ・・・ ~ t(Ci,1,Ci,2,・・・,~)’ 第2項がCi,2
・・・
C1,1 C1,2 ・・・ C1,j n1’ 第2項がC1,2
C2,1 C2,2 ・・・ C2,j n2’ 第2項がC2,2
C3,1 C3,2 ・・・ C3,j n3’ 第2項がC3,2
・・・
Ci,1 Ci,2 ・・・ Ci,j ni’ 第2項がCi,2

~ ~ ・・・ ~ 0 第2項が~
~ ~ ・・・ C1,j 0 第2項が~
~ ~ ・・・ C2,j 0 第2項が~
~ ~ ・・・ C3,j 0 第2項が~
・・・
~ ~ ・・・ Ci,j 0 第2項が~
・・・
~ C1,2 ・・・ ~ 0 第2項がC1,2
~ C2,2 ・・・ ~ 0 第2項がC2,2
~ C3,2 ・・・ ~ 0 第2項がC3,2
・・・
~ Ci,2 ・・・ ~ 0 第2項がCi,2
・・・
~ C1,2 ・・・ C1,j 0 第2項がC1,2
~ C2,2 ・・・ C2,j 0 第2項がC2,2
~ C3,2 ・・・ C3,j 0 第2項がC3,2
・・・
~ Ci,2 ・・・ Ci,j 0 第2項がCi,2
・・・
~ ~ ・・・ ~ -t(C1,1,~ ,・・・,~)’ 第2項が~
~ ~ ・・・ ~ -t(C2,1,~ ,・・・,~)’ 第2項が~
~ ~ ・・・ ~ -t(C3,1,~ ,・・・,~)’ 第2項が~
・・・
~ ~ ・・・ ~ -t(Ci,1,~ ,・・・,~)’ 第2項が~
・・・
~ ~ ・・・ C1,j -t(C1,1,~ ,・・・,C1,j)’第2項が~
~ ~ ・・・ C2,j -t(C2,1,~ ,・・・,C2,j)’第2項が~
~ ~ ・・・ C3,j -t(C3,1,~ ,・・・,C3,j)’第2項が~
・・・
~ ~ ・・・ Ci,j -t(Ci,1,~ ,・・・,Ci,j)’第2項が~
・・・
~ C1,2 ・・・ ~ -t(C1,1,C1,2,・・・,~)’ 第2項がC1,2
~ C2,2 ・・・ ~ -t(C2,1,C2,2,・・・,~)’ 第2項がC2,2
~ C3,2 ・・・ ~ -t(C3,1,C3,2,・・・,~)’ 第2項がC3,2
・・・
~ Ci,2 ・・・ ~ -t(Ci,1,Ci,2,・・・,~)’ 第2項がCi,2
・・・
~ C1,2 ・・・ C1,j -n1’ 第2項がC1,2
~ C2,2 ・・・ C2,j -n2’ 第2項がC2,2
~ C3,2 ・・・ C3,j -n3’ 第2項がC3,2
・・・
~ Ci,2 ・・・ Ci,j -ni’ 第2項がCi,2
As the second recursive difference calculation input data, the first recursive difference calculation result is used as an input.

[Previous stage] Output without changing the input data F1 F2 ・ ・ ・ Fj n'
~ ~ ・ ・ ・ ~ T (~, ~, ・ ・ ・, ~)'The second term is ~
~ ~ ・ ・ ・ C1, jt (~, ~, ・ ・ ・, C1, j)'The second term is ~
~ ~ ・ ・ ・ C2, jt (~, ~, ・ ・ ・, C2, j)'The second term is ~
~ ~ ・ ・ ・ C3, jt (~, ~, ・ ・ ・, C3, j)'The second term is ~
・ ・ ・
~ ~ ・ ・ ・ Ci, jt (~, ~, ・ ・ ・, Ci, j)'The second term is ~
・ ・ ・
~ C1,2 ・ ・ ・ ~ t (~, C1,2, ・ ・ ・, ~)'The second term is C1,2
~ C2,2 ・ ・ ・ ~ t (~, C2,2, ・ ・ ・, ~)'The second term is C2,2
~ C3,2 ・ ・ ・ ~ t (~, C3,2, ・ ・ ・, ~)'The second term is C3,2
・ ・ ・
~ Ci, 2 ・ ・ ・ ~ t (~, Ci, 2, ・ ・ ・, ~)'The second term is Ci, 2
・ ・ ・
~ C1,2 ・ ・ ・ C1, jt (~, C1,2, ・ ・ ・, C1, j)'The second term is C1,2
~ C2,2 ・ ・ ・ C2, jt (~, C2,2, ・ ・ ・, C2, j)'The second term is C2,2
~ C3,2 ・ ・ ・ C3, jt (~, C3,2, ・ ・ ・, C3, j)'The second term is C3,2
・ ・ ・
~ Ci, 2 ・ ・ ・ Ci, jt (~, Ci, 2, ・ ・ ・, Ci, j)'The second term is Ci, 2
・ ・ ・
C1,1 ~ ・ ・ ・ ~ t (C1,1, ~, ・ ・ ・, ~)'The second term is ~
C2,1 ~ ・ ・ ・ ~ t (C2,1, ~, ・ ・ ・, ~)'The second term is ~
C3,1 ~ ・ ・ ・ ~ t (C3,1, ~, ・ ・ ・, ~)'The second term is ~
・ ・ ・
Ci, 1 ~ ・ ・ ・ ~ t (Ci, 1, ~, ・ ・ ・, ~)'The second term is ~
・ ・ ・
C1,1 ~ ・ ・ ・ C1, jt (C1,1, ~, ・ ・ ・, C1, j)'The second term is ~
C2,1 ~ ・ ・ ・ C2, jt (C2,1, ~, ・ ・ ・, C2, j)'The second term is ~
C3,1 ~ ・ ・ ・ C3, jt (C3,1, ~, ・ ・ ・, C3, j)'The second term is ~
・ ・ ・
Ci, 1 ~ ・ ・ ・ Ci, jt (Ci, 1, ~, ・ ・ ・, Ci, j)'The second term is ~
・ ・ ・
C1,1 C1,2 ・ ・ ・ ~ t (C1,1, C1,2, ・ ・ ・, ~)'The second term is C1,2
C2,1 C2,2 ・ ・ ・ ~ t (C2,1, C2,2, ・ ・ ・, ~)'The second term is C2,2
C3,1 C3,2 ・ ・ ・ ~ t (C3,1, C3,2, ・ ・ ・, ~)'The second term is ~
・ ・ ・
Ci, 1 Ci, 2 ・ ・ ・ ~ t (Ci, 1, Ci, 2, ・ ・ ・, ~)'The second term is Ci, 2
・ ・ ・
C1,1 C1,2 ・ ・ ・ C1, j n1'The second term is C1,2
C2,1 C2,2 ・ ・ ・ C2, j n2'The second term is C2,2
C3,1 C3,2 ・ ・ ・ C3, j n3'The second term is C3,2
・ ・ ・
Ci, 1 Ci, 2 ・ ・ ・ Ci, j ni'The second term is Ci, 2

~ ~ ・ ・ ・ ~ 0 The second term is ~
~ ~ ・ ・ ・ C1, j 0 The second term is ~
~ ~ ・ ・ ・ C2, j 0 The second term is ~
~ ~ ・ ・ ・ C3, j 0 The second term is ~
・ ・ ・
~ ~ ・ ・ ・ Ci, j 0 The second term is ~
・ ・ ・
~ C1,2 ・ ・ ・ ~ 0 The second term is C1,2
~ C2,2 ・ ・ ・ ~ 0 The second term is C2,2
~ C3,2 ・ ・ ・ ~ 0 The second term is C3,2
・ ・ ・
~ Ci, 2 ・ ・ ・ ~ 0 The second term is Ci, 2
・ ・ ・
~ C1,2 ・ ・ ・ C1, j 0 The second term is C1,2
~ C2,2 ・ ・ ・ C2, j 0 The second term is C2,2
~ C3,2 ・ ・ ・ C3, j 0 The second term is C3,2
・ ・ ・
~ Ci, 2 ・ ・ ・ Ci, j 0 The second term is Ci, 2
・ ・ ・
~ ~ ・ ・ ・ ~ ~ -T (C1,1, ~, ・ ・ ・, ~)'The second term is ~
~ ~ ・ ・ ・ ~ ~ -T (C2,1, ~, ・ ・ ・, ~)'The second term is ~
~ ~ ・ ・ ・ ~ ~ -T (C3,1, ~, ・ ・ ・, ~)'The second term is ~
・ ・ ・
~ ~ ・ ・ ・ ~ ~ -T (Ci, 1, ~, ・ ・ ・, ~)'The second term is ~
・ ・ ・
~ ~ ・ ・ ・ C1, j -t (C1,1, ~, ・ ・ ・, C1, j)'The second term is ~
~ ~ ・ ・ ・ C2, j -t (C2,1, ~, ・ ・ ・, C2, j)'The second term is ~
~ ~ ・ ・ ・ C3, j -t (C3,1, ~, ・ ・ ・, C3, j)'The second term is ~
・ ・ ・
~ ~ ・ ・ ・ Ci, j -t (Ci, 1, ~, ・ ・ ・, Ci, j)'The second term is ~
・ ・ ・
~ C1,2 ・ ・ ・ ~ -t (C1,1, C1,2, ・ ・ ・, ~)'The second term is C1,2
~ C2,2 ・ ・ ・ ~ -t (C2,1, C2,2, ・ ・ ・, ~)'The second term is C2,2
~ C3,2 ・ ・ ・ ~ -t (C3,1, C3,2, ・ ・ ・, ~)'The second term is C3,2
・ ・ ・
~ Ci, 2 ・ ・ ・ ~ -t (Ci, 1, Ci, 2, ・ ・ ・, ~)'The second term is Ci, 2
・ ・ ・
~ C1,2 ・ ・ ・ C1, j -n1'The second term is C1,2
~ C2,2 ・ ・ ・ C2, j -n2'The second term is C2,2
~ C3,2 ・ ・ ・ C3, j -n3'The second term is C3,2
・ ・ ・
~ Ci, 2 ・ ・ ・ Ci, j -ni'The second term is Ci, 2

[後段]入力データを変更して出力(変更前)
~ ~ ・・・ ~ 0 第2項が~
~ ~ ・・・ C1,j 0 第2項が~
~ ~ ・・・ C2,j 0 第2項が~
~ ~ ・・・ C3,j 0 第2項が~
・・・
~ ~ ・・・ Ci,j 0 第2項が~
・・・
~ ~ ・・・ ~ -t(~,C1,2,・・・,~)’ 第2項がC1,2
~ ~ ・・・ ~ -t(~,C2,2,・・・,~)’ 第2項がC2,2
~ ~ ・・・ ~ -t(~,C3,2,・・・,~)’ 第2項がC3,2
・・・
~ ~ ・・・ ~ -t(~,Ci,2,・・・,~)’ 第2項がCi,2
・・・
~ ~ ・・・ C1,j -t(~,C1,2,・・・,C1,j)’ 第2項がC1,2
~ ~ ・・・ C2,j -t(~,C2,2,・・・,C2,j)’ 第2項がC2,2
~ ~ ・・・ C3,j -t(~,C3,2,・・・,C3,j)’ 第2項がC3,2
・・・
~ ~ ・・・ Ci,j -t(~,Ci,2,・・・,Ci,j)’ 第2項がCi,2
・・・
C1,1 ~ ・・・ ~ 0 第2項が~
C2,1 ~ ・・・ ~ 0 第2項が~
C3,1 ~ ・・・ ~ 0 第2項が~
・・・
Ci,1 ~ ・・・ ~ 0 第2項が~
・・・
C1,1 ~ ・・・ C1,j 0 第2項が~
C2,1 ~ ・・・ C2,j 0 第2項が~
C3,1 ~ ・・・ C3,j 0 第2項が~
・・・
Ci,1 ~ ・・・ Ci,j 0 第2項が~
・・・
C1,1 ~ ・・・ ~ -t(C1,1,C1,2,・・・,~)’ 第2項がC1,2
C2,1 ~ ・・・ ~ -t(C2,1,C2,2,・・・,~)’ 第2項がC2,2
C3,1 ~ ・・・ ~ -t(C3,1,C3,2,・・・,~)’ 第2項が~
・・・
Ci,1 ~ ・・・ ~ -t(Ci,1,Ci,2,・・・,~)’ 第2項がCi,2
・・・
C1,1 ~ ・・・ C1,j -n1’ 第2項がC1,2
C2,1 ~ ・・・ C2,j -n2’ 第2項がC2,2
C3,1 ~ ・・・ C3,j -n3’ 第2項がC3,2
・・・
Ci,1 ~ ・・・ Ci,j -ni’ 第2項がCi,2

~ ~ ・・・ ~ 0 第2項が~
~ ~ ・・・ C1,j 0 第2項が~
~ ~ ・・・ C2,j 0 第2項が~
~ ~ ・・・ C3,j 0 第2項が~
・・・
~ ~ ・・・ Ci,j 0 第2項が~
・・・
~ ~ ・・・ ~ -0 第2項がC1,2
~ ~ ・・・ ~ -0 第2項がC2,2
~ ~ ・・・ ~ -0 第2項がC3,2
・・・
~ ~ ・・・ ~ -0 第2項がCi,2
・・・
~ ~ ・・・ C1,j -0 第2項がC1,2
~ ~ ・・・ C2,j -0 第2項がC2,2
~ ~ ・・・ C3,j -0 第2項がC3,2
・・・
~ ~ ・・・ Ci,j -0 第2項がCi,2
・・・
~ ~ ・・・ ~ 0 第2項が~
~ ~ ・・・ ~ 0 第2項が~
~ ~ ・・・ ~ 0 第2項が~
・・・
~ ~ ・・・ ~ 0 第2項が~
・・・
~ ~ ・・・ C1,j 0 第2項が~
~ ~ ・・・ C2,j 0 第2項が~
~ ~ ・・・ C3,j 0 第2項が~
・・・
~ ~ ・・・ Ci,j 0 第2項が~
・・・
~ ~ ・・・ ~ -(-t(C1,1,C1,2,・・・,~)’) 第2項がC1,2
~ ~ ・・・ ~ -(-t(C2,1,C2,2,・・・,~)’) 第2項がC2,2
~ ~ ・・・ ~ -(-t(C3,1,C3,2,・・・,~)’) 第2項がC3,2
・・・
~ ~ ・・・ ~ -(-t(Ci,1,Ci,2,・・・,~)’) 第2項がCi,2
・・・
~ ~ ・・・ C1,j -(-n1’) 第2項がC1,2
~ ~ ・・・ C2,j -(-n2’) 第2項がC2,2
~ ~ ・・・ C3,j -(-n3’) 第2項がC3,2
・・・
~ ~ ・・・ Ci,j -(-ni’) 第2項がCi,2

上記の出力データについて、同一属性別に度数N’の足し上げを行う。
[Second stage] Change the input data and output (before change)
~ ~ ・ ・ ・ ~ 0 The second term is ~
~ ~ ・ ・ ・ C1, j 0 The second term is ~
~ ~ ・ ・ ・ C2, j 0 The second term is ~
~ ~ ・ ・ ・ C3, j 0 The second term is ~
・ ・ ・
~ ~ ・ ・ ・ Ci, j 0 The second term is ~
・ ・ ・
~ ~ ・ ・ ・ ~ ~ -T (~, C1,2, ・ ・ ・, ~)'The second term is C1,2
~ ~ ・ ・ ・ ~ ~ -T (~, C2,2, ・ ・ ・, ~)'The second term is C2,2
~ ~ ・ ・ ・ ~ ~ -T (~, C3,2, ・ ・ ・, ~)'The second term is C3,2
・ ・ ・
~ ~ ・ ・ ・ ~ ~ -T (~, Ci, 2, ・ ・ ・, ~)'The second term is Ci, 2
・ ・ ・
~ ~ ・ ・ ・ C1, j -t (~, C1,2, ・ ・ ・, C1, j)'The second term is C1,2
~ ~ ・ ・ ・ C2, j -t (~, C2,2, ・ ・ ・, C2, j)'The second term is C2,2
~ ~ ・ ・ ・ C3, j -t (~, C3,2, ・ ・ ・, C3, j)'The second term is C3,2
・ ・ ・
~ ~ ・ ・ ・ Ci, j -t (~, Ci, 2, ・ ・ ・, Ci, j)'The second term is Ci, 2
・ ・ ・
C1,1 ~ ・ ・ ・ ~ 0 The second term is ~
C2,1 ~ ・ ・ ・ ~ 0 The second term is ~
C3,1 ~ ・ ・ ・ ~ 0 The second term is ~
・ ・ ・
Ci, 1 ~ ・ ・ ・ ~ 0 The second term is ~
・ ・ ・
C1,1 ~ ・ ・ ・ C1, j 0 The second term is ~
C2,1 ~ ・ ・ ・ C2, j 0 The second term is ~
C3,1 ~ ・ ・ ・ C3, j 0 The second term is ~
・ ・ ・
Ci, 1 ~ ・ ・ ・ Ci, j 0 The second term is ~
・ ・ ・
C1,1 ~ ・ ・ ・ ~ -t (C1,1, C1,2, ・ ・ ・, ~)'The second term is C1,2
C2,1 ~ ・ ・ ・ ~ ~ -t (C2,1, C2,2, ・ ・ ・, ~)'The second term is C2,2
C3,1 ~ ・ ・ ・ ~ ~ -t (C3,1, C3,2, ・ ・ ・, ~)'The second term is ~
・ ・ ・
Ci, 1 ~ ・ ・ ・ ~ -t (Ci, 1, Ci, 2, ・ ・ ・, ~)'The second term is Ci, 2
・ ・ ・
C1,1 ~ ・ ・ ・ C1, j -n1'The second term is C1,2
C2,1 ~ ・ ・ ・ C2,j -n2'The second term is C2,2
C3,1 ~ ・ ・ ・ C3, j -n3'The second term is C3,2
・ ・ ・
Ci, 1 ~ ・ ・ ・ Ci, j -ni'The second term is Ci, 2

~ ~ ・ ・ ・ ~ 0 The second term is ~
~ ~ ・ ・ ・ C1, j 0 The second term is ~
~ ~ ・ ・ ・ C2, j 0 The second term is ~
~ ~ ・ ・ ・ C3, j 0 The second term is ~
・ ・ ・
~ ~ ・ ・ ・ Ci, j 0 The second term is ~
・ ・ ・
~ ~ ・ ・ ・ ~ -0 The second term is C1,2
~ ~ ・ ・ ・ ~ -0 The second term is C2,2
~ ~ ・ ・ ・ ~ -0 The second term is C3,2
・ ・ ・
~ ~ ・ ・ ・ ~ -0 The second term is Ci, 2
・ ・ ・
~ ~ ・ ・ ・ C1, j -0 The second term is C1,2
~ ~ ・ ・ ・ C2, j -0 The second term is C2,2
~ ~ ・ ・ ・ C3, j -0 The second term is C3,2
・ ・ ・
~ ~ ・ ・ ・ Ci, j -0 The second term is Ci, 2
・ ・ ・
~ ~ ・ ・ ・ ~ 0 The second term is ~
~ ~ ・ ・ ・ ~ 0 The second term is ~
~ ~ ・ ・ ・ ~ 0 The second term is ~
・ ・ ・
~ ~ ・ ・ ・ ~ 0 The second term is ~
・ ・ ・
~ ~ ・ ・ ・ C1, j 0 The second term is ~
~ ~ ・ ・ ・ C2, j 0 The second term is ~
~ ~ ・ ・ ・ C3, j 0 The second term is ~
・ ・ ・
~ ~ ・ ・ ・ Ci, j 0 The second term is ~
・ ・ ・
~ ~ ・ ・ ・ ~-(-t (C1,1, C1,2, ・ ・ ・, ~)') The second term is C1,2
~ ~ ・ ・ ・ ~-(-t (C2,1, C2,2, ・ ・ ・, ~)') The second term is C2,2
~ ~ ・ ・ ・ ~-(-t (C3,1, C3,2, ・ ・ ・, ~)') The second term is C3,2
・ ・ ・
~ ~ ・ ・ ・ ~-(-t (Ci, 1, Ci, 2, ・ ・ ・, ~)') The second term is Ci, 2
・ ・ ・
~ ~ ・ ・ ・ C1, j-(-n1') The second term is C1,2
~ ~ ・ ・ ・ C2, j-(-n2') The second term is C2,2
~ ~ ・ ・ ・ C3, j-(-n3') The second term is C3,2
・ ・ ・
~ ~ ・ ・ ・ Ci, j-(-ni') The second term is Ci, 2

For the above output data, the frequency N'is added for each same attribute.

第j番目の再帰差分計算
入力データとして、第j−1番目の再帰差分計算結果を入力に用いる。

[前段]入力データを変更せずに出力
F1 F2 ・・・ Fj n’
~ ~ ・・・ ~ t(~,~,・・・,~)’ 第j項が~
~ ~ ・・・ C1,j t(~,~,・・・,C1,j)’ 第j項がC1,j
~ ~ ・・・ C2,j t(~,~,・・・,C2,j)’ 第j項がC2,j
~ ~ ・・・ C3,j t(~,~,・・・,C3,j)’ 第j項がC3,j
・・・
~ ~ ・・・ Ci,j t(~,~,・・・,Ci,j)’ 第j項がCi,j
・・・
~ C1,2 ・・・ ~ t(~,C1,2,・・・,~)’ 第j項が~
~ C2,2 ・・・ ~ t(~,C2,2,・・・,~)’ 第j項が~
~ C3,2 ・・・ ~ t(~,C3,2,・・・,~)’ 第j項が~
・・・
~ Ci,2 ・・・ ~ t(~,Ci,2,・・・,~)’ 第j項が~
・・・
~ C1,2 ・・・ C1,j t(~,C1,2,・・・,C1,j)’ 第j項がC1,j
~ C2,2 ・・・ C2,j t(~,C2,2,・・・,C2,j)’ 第j項がC2,j
~ C3,2 ・・・ C3,j t(~,C3,2,・・・,C3,j)’ 第j項がC3,j
・・・
~ Ci,2 ・・・ Ci,j t(~,Ci,2,・・・,Ci,j)’ 第j項がCi,j

・・・(以下省略)

[後段]入力データを変更して出力(変更前)
~ ~ ・・・ ~ 0 第j項が~
~ ~ ・・・ ~ -(t(~,~,・・・,C1,j)’) 第j項がC1,j
~ ~ ・・・ ~ -(t(~,~,・・・,C2,j)’) 第j項がC2,j
~ ~ ・・・ ~ -(t(~,~,・・・,C3,j)’) 第j項がC3,j
・・・
~ ~ ・・・ ~ -(t(~,~,・・・,Ci,j)’) 第j項がCi,j
・・・
~ C1,2 ・・・ ~ 0 第j項が~
~ C2,2 ・・・ ~ 0 第j項が~
~ C3,2 ・・・ ~ 0 第j項が~
・・・
~ Ci,2 ・・・ ~ 0 第j項が~
・・・
~ C1,2 ・・・ ~ -(t(~,C1,2,・・・,C1,j)’) 第j項がC1,j
~ C2,2 ・・・ ~ -(t(~,C2,2,・・・,C2,j)’) 第j項がC2,j
~ C3,2 ・・・ ~ -(t(~,C3,2,・・・,C3,j)’) 第j項がC3,j
・・・
~ Ci,2 ・・・ ~ -(t(~,Ci,2,・・・,Ci,j)’) 第j項がCi,j

・・・(以下省略)

上記の出力データについて、同一属性別に度数n’の足し上げを行う。
As the j-th recursive difference calculation input data, the j-1st recursive difference calculation result is used as input.

[Previous stage] Output without changing the input data F1 F2 ・ ・ ・ Fj n'
~ ~ ・ ・ ・ ~ T (~, ~, ・ ・ ・, ~)'Term j is ~
~ ~ ・ ・ ・ C1, jt (~, ~, ・ ・ ・, C1, j)'The j term is C1, j
~ ~ ・ ・ ・ C2, jt (~, ~, ・ ・ ・, C2, j)'The j term is C2, j
~ ~ ・ ・ ・ C3, jt (~, ~, ・ ・ ・, C3, j)'The j term is C3, j
・ ・ ・
~ ~ ・ ・ ・ Ci, jt (~, ~, ・ ・ ・, Ci, j)'The j term is Ci, j
・ ・ ・
~ C1,2 ・ ・ ・ ~ t (~, C1,2, ・ ・ ・, ~)'Term j is ~
~ C2,2 ・ ・ ・ ~ t (~, C2,2, ・ ・ ・, ~)'The j term is ~
~ C3,2 ・ ・ ・ ~ t (~, C3,2, ・ ・ ・, ~)'Term j is ~
・ ・ ・
~ Ci, 2 ・ ・ ・ ~ t (~, Ci, 2, ・ ・ ・, ~)'Term j is ~
・ ・ ・
~ C1,2 ・ ・ ・ C1, jt (~, C1,2, ・ ・ ・, C1, j)'The j term is C1, j
~ C2,2 ・ ・ ・ C2, jt (~, C2,2, ・ ・ ・, C2, j)'The j term is C2, j
~ C3,2 ・ ・ ・ C3, jt (~, C3,2, ・ ・ ・, C3, j)'The j term is C3, j
・ ・ ・
~ Ci, 2 ・ ・ ・ Ci, jt (~, Ci, 2, ・ ・ ・, Ci, j)'The j term is Ci, j

・ ・ ・ (Omitted below)

[Second stage] Change the input data and output (before change)
~ ~ ・ ・ ・ ~ 0 Term j is ~
~ ~ ・ ・ ・ ~-(t (~, ~, ・ ・ ・, C1, j)') The j term is C1, j
~ ~ ・ ・ ・ ~-(t (~, ~, ・ ・ ・, C2, j)') The j term is C2, j
~ ~ ・ ・ ・ ~-(t (~, ~, ・ ・ ・, C3, j)') The j term is C3, j
・ ・ ・
~ ~ ・ ・ ・ ~-(t (~, ~, ・ ・ ・, Ci, j)') The j term is Ci, j
・ ・ ・
~ C1,2 ・ ・ ・ ~ 0 Term j is ~
~ C2,2 ・ ・ ・ ~ 0 Term j is ~
~ C3,2 ・ ・ ・ ~ 0 Term j is ~
・ ・ ・
~ Ci, 2 ・ ・ ・ ~ 0 Term j is ~
・ ・ ・
~ C1,2 ・ ・ ・ ~-(t (~, C1,2, ・ ・ ・, C1, j)') The j term is C1, j
~ C2,2 ・ ・ ・ ~-(t (~, C2,2, ・ ・ ・, C2, j)') The j term is C2, j
~ C3,2 ・ ・ ・ ~-(t (~, C3,2, ・ ・ ・, C3, j)') The j term is C3, j
・ ・ ・
~ Ci, 2 ・ ・ ・ ~-(t (~, Ci, 2, ・ ・ ・, Ci, j)') The j term is Ci, j

・ ・ ・ (Omitted below)

For the above output data, the frequency n'is added for each same attribute.

例)
属性項目F1(a1,a2)とF2(b1,b2,b3)の2次元クロス度数表について、丸め処理後に差分計算を行う場合

F1 F2 n(Frequency合計)
~ ~ (n1+n2+n3+n4+n5+n6)’
a1 ~ (n1+n2+n3)’
a2 ~ (n4+n5+n6)’
~ b1 (n1+n4)’
~ b2 (n2+n5)’
~ b3 (n3+n6)’
a1 b1 (n1)’
a1 b2 (n2)’
a1 b3 (n3)’
a2 b1 (n4)’
a2 b2 (n5)’
a2 b3 (n6)’
Example)
When performing difference calculation after rounding the two-dimensional cross frequency table of attribute items F1 (a1, a2) and F2 (b1, b2, b3)

F1 F2 n (Frequency total)
~ ~ (n1 + n2 + n3 + n4 + n5 + n6)'
a1 ~ (n1 + n2 + n3)'
a2 ~ (n4 + n5 + n6)'
~ b1 (n1 + n4)'
~ b2 (n2 + n5)'
~ b3 (n3 + n6)'
a1 b1 (n1)'
a1 b2 (n2)'
a1 b3 (n3)'
a2 b1 (n4)'
a2 b2 (n5)'
a2 b3 (n6)'

第1番目の再帰差分計算
F1 F2 n’
[前段]
~ ~ +(n1+n2+n3+n4+n5+n6)’
a1 ~ +(n1+n2+n3)’
a2 ~ +(n4+n5+n6)’
~ b1 +(n1+n4)’
~ b2 +(n2+n5)’
~ b3 +(n3+n6)’
a1 b1 +(n1)’
a1 b2 +(n2)’
a1 b3 +(n3)’
a2 b1 +(n4)’
a2 b2 +(n5)’
a2 b3 +(n6)’

[後段]
~ ~ 0
~ ~ -(n1+n2+n3)’
~ ~ -(n4+n5+n6)’
~ b1 0
~ b2 0
~ b3 0
~ b1 -(n1)’
~ b2 -(n2)’
~ b3 -(n3)’
~ b1 -(n4)’
~ b2 -(n5)’
~ b3 -(n6)’

上記の出力データについて、同一属性別に度数n’の足し上げを行う。

第1番目の再帰差分計算結果
F1 F2 n’
~ ~ +(n1+n2+n3+n4+n5+n6)’ - (n1+n2+n3)’ - (n4+n5+n6)’
~ b1 +(n1+n4)’ - (n1)’ - (n4)’
~ b2 +(n2+n5)’ - (n2)’ - (n5)’
~ b3 +(n3+n6)’ - (n3)’ - (n6)’
a1 ~ +(n1+n2+n3)’
a2 ~ +(n4+n5+n6)’
a1 b1 +(n1)’
a1 b2 +(n2)’
a1 b3 +(n3)’
a2 b1 +(n4)’
a2 b2 +(n5)’
a2 b3 +(n6)’
First recursive difference calculation F1 F2 n'
[First stage]
~ ~ + (n1 + n2 + n3 + n4 + n5 + n6)'
a1 ~ + (n1 + n2 + n3)'
a2 ~ + (n4 + n5 + n6)'
~ b1 + (n1 + n4)'
~ b2 + (n2 + n5)'
~ b3 + (n3 + n6)'
a1 b1 + (n1)'
a1 b2 + (n2)'
a1 b3 + (n3)'
a2 b1 + (n4)'
a2 b2 + (n5)'
a2 b3 + (n6)'

[Second stage]
~ ~ 0
~ ~-(n1 + n2 + n3)'
~ ~-(n4 + n5 + n6)'
~ b1 0
~ b2 0
~ b3 0
~ b1-(n1)'
~ b2-(n2)'
~ b3-(n3)'
~ b1-(n4)'
~ b2-(n5)'
~ b3-(n6)'

For the above output data, the frequency n'is added for each same attribute.

First recursive difference calculation result F1 F2 n'
~ ~ + (n1 + n2 + n3 + n4 + n5 + n6)'-(n1 + n2 + n3)'-(n4 + n5 + n6)'
~ b1 + (n1 + n4)'-(n1)'-(n4)'
~ b2 + (n2 + n5)'-(n2)'-(n5)'
~ b3 + (n3 + n6)'-(n3)'-(n6)'
a1 ~ + (n1 + n2 + n3)'
a2 ~ + (n4 + n5 + n6)'
a1 b1 + (n1)'
a1 b2 + (n2)'
a1 b3 + (n3)'
a2 b1 + (n4)'
a2 b2 + (n5)'
a2 b3 + (n6)'

第2番目の再帰差分計算
F1 F2 n’
[前段]
~ ~ +(n1+n2+n3+n4+n5+n6)’-(n1+n2+n3)’-(n4+n5+n6)’
a1 ~ +(n1+n2+n3)’
a2 ~ +(n4+n5+n6)’
~ b1 +(n1+n4)’-(n1)’-(n4)’
~ b2 +(n2+n5)’-(n2)’-(n5)’
~ b3 +(n3+n6)’-(n3)’-(n6)’
a1 b1 +(n1)’
a1 b2 +(n2)’
a1 b3 +(n3)’
a2 b1 +(n4)’
a2 b2 +(n5)’
a2 b3 +(n6)’

[後段]
~ ~ 0
a1 ~ 0
a2 ~ 0
~ ~ -(+(n1+n4)’-(n1)’-(n4)’)
~ ~ -(+(n2+n5)’-(n2)’-(n5)’)
~ ~ -(+(n3+n6)’-(n3)’-(n6)’)
a1 ~ -(n1)’
a1 ~ -(n2)’
a1 ~ -(n3)’
a2 ~ -(n4)’
a2 ~ -(n5)’
a2 ~ -(n6)’

上記の出力データについて、同一属性別に度数n’の足し上げを行う。

第2番目の再帰差分計算結果
F1 F2 n’
~ ~ +(n1+n2+n3+n4+n5+n6)’-(n1+n2+n3)’-(n4+n5+n6)’
-(n1+n4)’+(n1)’+(n4)’-(n2+n5)’+(n2)’+(n5)’
-(n3+n6)’+(n3)’+(n6)’
a1 ~ +(n1+n2+n3)’-(n1)’-(n2)’-(n3)’
a2 ~ +(n4+n5+n6)’-(n4)’-(n5)’-(n6)’
~ b1 +(n1+n4)’-(n1)’-(n4)’
~ b2 +(n2+n5)’-(n2)’-(n5)’
~ b3 +(n3+n6)’-(n3)’-(n6)’
a1 b1 +(n1)’
a1 b2 +(n2)’
a1 b3 +(n3)’
a2 b1 +(n4)’
a2 b2 +(n5)’
a2 b3 +(n6)’
Second recursive difference calculation F1 F2 n'
[First stage]
~ ~ + (n1 + n2 + n3 + n4 + n5 + n6)'-(n1 + n2 + n3)'-(n4 + n5 + n6)'
a1 ~ + (n1 + n2 + n3)'
a2 ~ + (n4 + n5 + n6)'
~ b1 + (n1 + n4)'-(n1)'-(n4)'
~ b2 + (n2 + n5)'-(n2)'-(n5)'
~ b3 + (n3 + n6)'-(n3)'-(n6)'
a1 b1 + (n1)'
a1 b2 + (n2)'
a1 b3 + (n3)'
a2 b1 + (n4)'
a2 b2 + (n5)'
a2 b3 + (n6)'

[Second stage]
~ ~ 0
a1 ~ 0
a2 ~ 0
~ ~-(+ (n1 + n4)'-(n1)'-(n4)')
~ ~-(+ (n2 + n5)'-(n2)'-(n5)')
~ ~-(+ (n3 + n6)'-(n3)'-(n6)')
a1 ~-(n1)'
a1 ~-(n2)'
a1 ~-(n3)'
a2 ~-(n4)'
a2 ~-(n5)'
a2 ~-(n6)'

For the above output data, the frequency n'is added for each same attribute.

Second recursive difference calculation result F1 F2 n'
~ ~ + (n1 + n2 + n3 + n4 + n5 + n6)'-(n1 + n2 + n3)'-(n4 + n5 + n6)'
-(N1 + n4)'+ (n1)'+ (n4)'-(n2 + n5)'+ (n2)'+ (n5)'
-(N3 + n6)'+ (n3)'+ (n6)'
a1 ~ + (n1 + n2 + n3)'-(n1)'-(n2)'-(n3)'
a2 ~ + (n4 + n5 + n6)'-(n4)'-(n5)'-(n6)'
~ b1 + (n1 + n4)'-(n1)'-(n4)'
~ b2 + (n2 + n5)'-(n2)'-(n5)'
~ b3 + (n3 + n6)'-(n3)'-(n6)'
a1 b1 + (n1)'
a1 b2 + (n2)'
a1 b3 + (n3)'
a2 b1 + (n4)'
a2 b2 + (n5)'
a2 b3 + (n6)'

(2) 個票データ形式変換
差分計算を行った多次元クロス度数表について、個票データ形式に変換を行う。その際に、総数よりも内訳合計が大きい場合は差分が負値になるため、負値のセルについてはWeightの値をマイナスとすることで総数と内訳合計が一致するように変換を行う。
個票形式への変換は、差分表をセルごとの属性項目と度数を用いて1セルを1レコードとするセルデータ形式で作成し、次にセルデータについてセルごとの属性レコードを度数分出力することで個票データ形式に変換する。
(2) Conversion of individual data format Converts the multidimensional cross frequency table for which the difference is calculated to the individual data format. At that time, if the total breakdown is larger than the total number, the difference becomes a negative value. Therefore, for the cells with a negative value, the weight value is set to minus so that the total number and the total breakdown match.
To convert to the individual form format, create a difference table in the cell data format with one cell as one record using the attribute items and frequencies for each cell, and then output the attribute records for each cell for each cell for the frequency. Convert to individual form data format.

差分表セルデータ
F1 F2 ・・・ Fj n’
C1,1 C1,2 ・・・ C1,j n1
C2,1 C2,2 ・・・ C2,j n2
・・・
Ci,1 Ci,2 ・・・ Ci,j ni

個票形式データ
F1 F2 ・・・ Fj Weight
C1,1 C1,2 ・・・ C1,j 1
C1,1 C1,2 ・・・ C1,j 1
・・・
C1,1 C1,2 ・・・ C1,j 1 (n1回レコード出力)

C2,1 C2,2 ・・・ C2,j 1
C2,1 C2,2 ・・・ C2,j 1
・・・
C2,1 C2,2 ・・・ C2,j 1 (n2回レコード出力)

・・・

Ci,1 Ci,2 ・・・ Ci,j 1
Ci,1 Ci,2 ・・・ Ci,j 1
・・・
Ci,1 Ci,2 ・・・ Ci,j 1 (ni回レコード出力)
Difference table Cell data F1 F2 ・ ・ ・ Fj n'
C1,1 C1,2 ・ ・ ・ C1, j n1
C2,1 C2,2 ・ ・ ・ C2, j n2
・ ・ ・
Ci, 1 Ci, 2 ・ ・ ・ Ci, j ni

Individual form data F1 F2 ・ ・ ・ Fj Weight
C1,1 C1,2 ・ ・ ・ C1, j 1
C1,1 C1,2 ・ ・ ・ C1, j 1
・ ・ ・
C1,1 C1,2 ・ ・ ・ C1, j 1 (record output n1 times)

C2,1 C2,2 ・ ・ ・ C2, j 1
C2,1 C2,2 ・ ・ ・ C2, j 1
・ ・ ・
C2,1 C2,2 ・ ・ ・ C2, j 1 (record output n2 times)

・ ・ ・

Ci, 1 Ci, 2 ・ ・ ・ Ci, j 1
Ci, 1 Ci, 2 ・ ・ ・ Ci, j 1
・ ・ ・
Ci, 1 Ci, 2 ・ ・ ・ Ci, j 1 (record output ni times)

秘匿処理を行って得られた個票データ形式の秘匿データについて、度数集計を行うと基の個票データを集計して丸め処理を行った度数表と一致する度数表を得ることができる。秘匿データは丸め処理を行った度数表を変換して作成するため、丸め処理を行った度数表が安全であれば得られた秘匿データも安全であるといえる。
下記の例では、2次元の個票データについてクロス度数表の集計を行った上で、(1)丸め処理、(2)差分計算、(3)差分表、(4)セルデータ形式、(5)個票データ形式の順に秘匿処理を行っている。
When the confidential data in the individual form data format obtained by the concealment processing is subjected to frequency aggregation, the basic individual data can be aggregated to obtain a frequency table that matches the frequency table obtained by the rounding process. Since the confidential data is created by converting the rounded frequency table, it can be said that the obtained confidential data is also safe if the rounded frequency table is safe.
In the example below, after totaling the cross frequency table for two-dimensional individual data, (1) rounding processing, (2) difference calculation, (3) difference table, (4) cell data format, (5) ) Concealment processing is performed in the order of individual data format.

例)多次元クロス度数表(2次元の場合)
年齢 総数 a)男 b)女
総数 100 50 50
a)20〜29歳 19 10 9
b)30〜39歳 24 13 11
c)40〜49歳 23 12 11
d)50〜59歳 18 8 10
e)60〜69歳 9 4 5
f)70歳以上 7 3 4

(1)度数表の丸め処理(丸め基数5の場合)
年齢 総数 a)男 b)女
総数 100 50 50
a)20〜29歳 20 10 10
b)30〜39歳 25 15 10
c)40〜49歳 25 10 10
d)50〜59歳 20 10 10
e)60〜69歳 10 5 5
f)70歳以上 5 5 5

(2)差分計算(2次元の場合)
年齢 総数 a)男 b)女 差分
総数 100 50 50 0
a)20〜29歳 20 10 10 0
b)30〜39歳 25 15 10 0
c)40〜49歳 25 10 10 5
d)50〜59歳 20 10 10 0
e)60〜69歳 10 5 5 0
f)70歳以上 5 5 5 -5
差分 -5 -5 0 0

(3)差分表
年齢 a)男 b)女 差分
a)20〜29歳 10 10 0
b)30〜39歳 15 10 0
c)40〜49歳 10 10 5
d)50〜59歳 10 10 0
e)60〜69歳 5 5 0
f)70歳以上 5 5 -5
差分 -5 0 0

(4)セルデータ形式
F1性別 F2年齢 n(Frequency合計)
a)男 a)20〜29歳 10
a)男 b)30〜39歳 15
a)男 c)40〜49歳 10
a)男 d)50〜59歳 10
a)男 e)60〜69歳 5
a)男 f)70歳以上 5
a)男 差分 -5
b)女 a)20〜29歳 10
b)女 b)30〜39歳 10
b)女 c)40〜49歳 10
b)女 d)50〜59歳 10
b)女 e)60〜69歳 5
b)女 f)70歳以上 5
差分 c)40〜49歳 5
差分 f)70歳以上 -5

(5)個票データ形式
F1性別 F2年齢 Weight
a)男 a)20〜29歳 1 (10レコード出力)
a)男 b)30〜39歳 1 (15レコード出力)
a)男 c)40〜49歳 1 (10レコード出力)
a)男 d)50〜59歳 1 (10レコード出力)
a)男 e)60〜69歳 1 ( 5レコード出力)
a)男 f)70歳以上 1 ( 5レコード出力)
a)男 差分 -1 ( 5レコード出力)
b)女 a)20〜29歳 1 (10レコード出力)
b)女 b)30〜39歳 1 (10レコード出力)
b)女 c)40〜49歳 1 (10レコード出力)
b)女 d)50〜59歳 1 (10レコード出力)
b)女 e)60〜69歳 1 ( 5レコード出力)
b)女 f)70歳以上 1 ( 5レコード出力)
差分 c)40〜49歳 1 ( 5レコード出力)
差分 f)70歳以上 -1 ( 5レコード出力)

注)差分については、属性区分をnull値に置き換えて出力する。
Example) Multidimensional cross frequency table (in the case of 2D)
Total age a) Male b) Total female 100 50 50
a) 20-29 years old 19 10 9
b) 30-39 years old 24 13 11
c) 40-49 years old 23 12 11
d) 50-59 years old 18 8 10
e) 60-69 years old 9 4 5
f) Over 70 years old 7 3 4

(1) Rounding process of frequency table (in the case of rounding radix 5)
Total age a) Male b) Total female 100 50 50
a) 20-29 years old 20 10 10
b) 30-39 years old 25 15 10
c) 40-49 years old 25 10 10
d) 50-59 years old 20 10 10
e) 60-69 years old 10 5 5
f) Over 70 years old 5 5 5

(2) Difference calculation (in the case of two dimensions)
Total age a) Male b) Female Total difference 100 50 50 0
a) 20-29 years old 20 10 10 0
b) 30-39 years old 25 15 10 0
c) 40-49 years old 25 10 10 5
d) 50-59 years old 20 10 10 0
e) 60-69 years old 10 5 5 0
f) Over 70 years old 5 5 5 -5
Difference -5 -5 0 0

(3) Difference table Age a) Male b) Female Difference
a) 20-29 years old 10 10 0
b) 30-39 years old 15 10 0
c) 40-49 years old 10 10 5
d) 50-59 years old 10 10 0
e) 60-69 years old 5 5 0
f) Over 70 years old 5 5 -5
Difference -5 0 0

(4) Cell data format
F1 Gender F2 Age n (Frequency total)
a) Man a) 20-29 years old 10
a) Man b) 30-39 years old 15
a) man c) 40-49 years old 10
a) Man d) 50-59 years old 10
a) Man e) 60-69 years old 5
a) Man f) Over 70 years old 5
a) Man difference -5
b) Woman a) 20-29 years old 10
b) Woman b) 30-39 years old 10
b) Woman c) 40-49 years old 10
b) Woman d) 50-59 years old 10
b) Woman e) 60-69 years old 5
b) Woman f) Over 70 years old 5
Difference c) 40-49 years old 5
Difference f) Over 70 years old -5

(5) Individual form data format
F1 Gender F2 Age Weight
a) Man a) 20-29 years old 1 (10 record output)
a) Man b) 30-39 years old 1 (15 record output)
a) Male c) 40-49 years old 1 (10 record output)
a) Man d) 50-59 years old 1 (10 record output)
a) Male e) 60-69 years old 1 (5 record output)
a) Male f) 70 years old and over 1 (5 record output)
a) Male difference -1 (5 record output)
b) Woman a) 20-29 years old 1 (10 record output)
b) Woman b) 30-39 years old 1 (10 record output)
b) Woman c) 40-49 years old 1 (10 record output)
b) Woman d) 50-59 years old 1 (10 record output)
b) Woman e) 60-69 years old 1 (5 record output)
b) Woman f) 70 years old and over 1 (5 record output)
Difference c) 40-49 years old 1 (5 record output)
Difference f) Over 70 years old -1 (5 record output)

Note) For the difference, replace the attribute classification with a null value and output.

7.5 ウェイト付データの秘匿
標本調査の個票データの場合は、母集団復元のためのウェイト付データを扱う必要がある。ウェイト付データの場合は、加重度数表を集計して秘匿処理を行う。
7.5 Concealment of weighted data In the case of individual sample data, it is necessary to handle weighted data for population restoration. In the case of weighted data, the weighted frequency table is aggregated and confidential processing is performed.

7.5.1 ウェイト付データの丸め秘匿
統計調査等が標本調査の場合、個票データには母集団推定のための復元ウェイトが付与されている。この復元ウェイトは、抽出率の逆数に比推定乗率を乗算して計算されており、度数に復元ウェイトを乗算して積算することにより母集団度数の推定を行うことができる。例えば、1%標本の抽出調査の場合、標本1度数は母集団100度数に相当することになり、度数にウェイトを乗算して計算した加重度数を母集団の推定度数として用いる。

属性別加重度数データ
F1 F2 ・・・ Fj n(Weight合計)
C1,1 C1,2 ・・・ C1,j n1 n1 = Σ(f1m * w1m)
C2,1 C2,2 ・・・ C2,j n2 n2 = Σ(f2m * w2m)
C3,1 C3,2 ・・・ C3,j n3 n3 = Σ(f3m * w3m)
・・・
Ci,1 Ci,2 ・・・ Ci,j ni ni = Σ(fim * wim)

ni:属性iの加重度数合計
fim:属性iの度数
wim:属性iのウェイト

基の個票データがウェイト付データの場合は、上記について前述の再帰計算による度数表集計、丸め処理、差分計算、個票データ形式への変換を行う。
7.5.1 Rounding concealment of weighted data When a statistical survey is a sample survey, restoration weights for population estimation are given to the individual data. This restoration weight is calculated by multiplying the reciprocal of the extraction rate by the ratio estimation multiplication factor, and the population frequency can be estimated by multiplying the frequency by the restoration weight and integrating them. For example, in the case of a 1% sample sampling survey, the sample 1 frequency corresponds to the population 100 frequencies, and the weighted frequency calculated by multiplying the frequency by the weight is used as the estimated population frequency.

Weighted frequency data by attribute F1 F2 ・ ・ ・ Fj n (Weight total)
C1,1 C1,2 ・ ・ ・ C1, j n1 n1 = Σ (f1m * w1m)
C2,1 C2,2 ・ ・ ・ C2, j n2 n2 = Σ (f2m * w2m)
C3,1 C3,2 ・ ・ ・ C3, j n3 n3 = Σ (f3m * w3m)
・ ・ ・
Ci, 1 Ci, 2 ・ ・ ・ Ci, j ni ni = Σ (fim * wim)

ni: Total weighted frequencies of attribute i
fim: frequency of attribute i
wim: weight of attribute i

When the basic individual data is weighted data, the above-mentioned recursive calculation is performed for frequency table aggregation, rounding, difference calculation, and conversion to individual data format.

母集団度数については、ウェイトで除算することにより標本度数の推定に用いることが可能であるため、ウェイトを用いて計算した加重度数についてもリスクレコードの秘匿を行う必要がある。加重度数を秘匿する場合は、単純に標本度数の安全基準を丸め基数としてしまうと秘匿強度が不十分であり、安全基準に復元ウェイトを乗算した値を丸め基数として丸め処理を行う必要がある。
加重度数の丸め処理の方法としては、属性区分別の最大ウェイトに安全基準度数を乗じて丸め基数とする方法や、属性区分別の平均ウェイトに安全基準度数を乗じた値を丸め基数とする方法、全体の平均ウェイトに安全基準度数を乗じた値を丸め基数とする方法などが考えられる。
基の個票データにおいて、ウェイトが突出して高い属性区分が存在する場合は属性区分別ごとの平均ウェイトに安全基準度数を乗じた値を丸め基数に設定することで安全に丸め処理を行うことができるが、丸め基数が属性区分別にまちまちであると全体平均の有効桁数が不明確になるデメリットがある。このため、本発明の秘匿装置では全体の平均ウェイトに安全基準度数を乗じた値をウェイト付個票データの場合の丸め基数として処理を行っている。

丸め基数B = 平均ウェイトW * 安全基準度数S
丸め度数Nij’ = ROUND( Nij / B ) * B

ただし、全体の平均ウェイトは整数ではなく小数点以下の端数を含む場合が多いため、10の累乗値またはその2分の1の値から、平均ウェイトを切り上げた最も近い値を計算してデフォルトの候補値としてプログラムの実行画面に表示される設計にしている。
Since the population frequency can be used to estimate the sample frequency by dividing by the weight, it is necessary to conceal the risk record for the weighted frequency calculated using the weight. When concealing the weighted frequency, if the safety standard of the sample frequency is simply rounded to the radix, the concealment strength is insufficient, and it is necessary to perform the rounding process using the value obtained by multiplying the safety standard by the restoration weight as the rounding radix.
As a method of rounding the weighted frequency, a method of multiplying the maximum weight for each attribute category by the safety standard frequency to obtain a rounding radix, or a method of multiplying the average weight for each attribute category by the safety standard frequency for the rounding radix is used. , A method of rounding the value obtained by multiplying the overall average weight by the safety standard frequency can be considered.
If there is an attribute category with a high weight in the individual data of the group, the rounding process can be performed safely by setting the value obtained by multiplying the average weight for each attribute category by the safety standard frequency as the rounding radix. However, if the rounding radix is different for each attribute category, there is a demerit that the number of effective digits of the overall average becomes unclear. Therefore, in the concealment device of the present invention, the value obtained by multiplying the overall average weight by the safety reference frequency is processed as the rounding radix in the case of weighted individual data.

Rounding radix B = average weight W * Safety standard frequency S
Rounding frequency Nij'= ROUND (Nij / B) * B

However, since the overall average weight often contains fractions after the decimal point rather than an integer, the default candidate is calculated by rounding up the average weight from a power of 10 or a half of that value. It is designed to be displayed as a value on the program execution screen.

例)CSV形式データ(ウェイトが一律100の場合)
F1Gender, F2 Age, Weight
a)男, a)20〜29歳, 100
a)男, b)30〜39歳, 100
b)女, d)50〜59歳, 100
b)女, e)60〜69歳, 100
a)男, c)40〜49歳, 100
(以下省略)

Gender:性別、Age:年齢階級、Weight:復元ウェイト
Example) CSV format data (when the weight is 100 uniformly)
F1Gender, F2 Age, Weight
a) man, a) 20-29 years old, 100
a) man, b) 30-39 years old, 100
b) Woman, d) 50-59 years old, 100
b) Woman, e) 60-69 years old, 100
a) man, c) 40-49 years old, 100
(Omitted below)

Gender: Gender, Age: Age Group, Weight: Restoration Weight

例)多次元クロス度数表(ウェイトが一律100で2次元の場合)

年齢 総数 a)男 b)女
総数 10000 5000 5000
a)20〜29歳 1900 1000 900
b)30〜39歳 2400 1300 1100
c)40〜49歳 2300 1200 1100
d)50〜59歳 1800 800 1000
e)60〜69歳 900 400 500
f)70歳以上 700 300 400
Example) Multidimensional cross frequency table (when the weight is uniformly 100 and two-dimensional)

Total age a) Male b) Total female 10000 5000 5000
a) 20-29 years old 1900 1000 900
b) 30-39 years old 2400 1300 1100
c) 40-49 years old 2300 1200 1100
d) 50-59 years old 1800 800 1000
e) 60-69 years old 900 400 500
f) 70 years old and over 700 300 400

例)度数表の丸め処理(ウェイトが一律100で安全基準5の場合)
年齢 総数 a)男 b)女
総数 10000 5000 5000
a)20〜29歳 2000 1000 1000
b)30〜39歳 2500 1500 1000
c)40〜49歳 2500 1000 1000
d)50〜59歳 2000 1000 1000
e)60〜69歳 1000 500 500
f)70歳以上 500 500 500

丸め基数B = 平均ウェイト100*安全基準5
=100*5
=500

丸め度数
nij’ = ROUND( nij / B ) * B= ROUND( nij / 500 ) * 500
Example) Rounding of frequency table (when weight is 100 and safety standard is 5)
Total age a) Male b) Total female 10000 5000 5000
a) 20-29 years old 2000 1000 1000
b) 30-39 years old 2500 1500 1000
c) 40-49 years old 2500 1000 1000
d) 50-59 years old 2000 1000 1000
e) 60-69 years old 1000 500 500
f) 70 years old and over 500 500 500

Rounding radix B = Average weight 100 * Safety standard 5
= 100 * 5
= 500

Rounding frequency nij'= ROUND (nij / B) * B = ROUND (nij / 500) * 500

7.5.2 ウェイト付データの複合秘匿
多次元クロス度数表の消去秘匿を行う際に、秘匿処理を行う個票データにウェイトが付与されている場合は、ウェイト付度数を集計し、平均ウェイトで除算した値を最小セルの判定に用いる。従って、標本の度数に加えてウェイト付度数を平均ウェイトで除算した値について最小セルが安全基準を満たさない場合は、消去秘匿による秘匿処理を行う。消去秘匿による秘匿処理を行う場合は、消去秘匿の安全基準を必要最小限に留めて、丸め秘匿を併用して複合秘匿を行うことで安全性と有用性のバランスを図る。

ウェイト付データの複合秘匿は以下の手順で行う。
(1) 多次元クロス加重度数表の集計
(2) セルデータの分類符号付与
(3) リスクチェック
(4) 消去秘匿
(5) 複合秘匿(丸め秘匿)
(6) 差分計算
(7) セルデータ形式の差分表作成
(8) 個票データ形式への変換
7.5.2 Combined concealment of weighted data When erasing the multidimensional cross frequency table, if weights are given to the individual data to be concealed, the weighted frequencies are totaled and the average weight is applied. The value divided by is used to determine the smallest cell. Therefore, if the minimum cell does not meet the safety criteria for the value obtained by dividing the weighted frequency by the average weight in addition to the sample frequency, concealment processing by erasure concealment is performed. When performing concealment processing by erasure concealment, the safety standard of erasure concealment should be kept to the minimum necessary, and combined concealment should be performed in combination with round concealment to balance safety and usefulness.

Follow the procedure below for compound concealment of weighted data.
(1) Aggregation of multidimensional cross-weighted frequency table
(2) Assignment of cell data classification code
(3) Risk check
(4) Erase concealment
(5) Complex concealment (rounding concealment)
(6) Difference calculation
(7) Creating a difference table in cell data format
(8) Conversion to individual data format

(1) 多次元クロス加重度数表の例(ウェイトが一律100で3次元の場合)
性別 年齢 総数 a)有業 b)無業
総数 総数 10000 5300 4700
総数 a)20〜29歳 1900 1100 800
総数 b)30〜39歳 2400 1500 900
総数 c)40〜49歳 2300 1500 800
総数 d)50〜59歳 1800 900 900
総数 e)60〜69歳 900 300 600
総数 f)70歳以上 700 0 700
a)男 総数 5000 3200 1800
a)男 a)20〜29歳 1000 600 400
a)男 b)30〜39歳 1300 1000 300
a)男 c)40〜49歳 1200 900 300
a)男 d)50〜59歳 800 500 300
a)男 e)60〜69歳 400 200 200
a)男 f)70歳以上 300 0 300
b)女 総数 5000 2100 2900
b)女 a)20〜29歳 900 500 400
b)女 b)30〜39歳 1100 500 600
b)女 c)40〜49歳 1100 600 500
b)女 d)50〜59歳 1000 400 600
b)女 e)60〜69歳 500 100 400
b)女 f)70歳以上 400 0 400
(1) Example of multidimensional cross-weighted frequency table (when the weight is uniformly 100 and 3D)
Gender Age Total a) Employed b) Unemployed Total 10000 5300 4700
Total a) 20-29 years old 1900 1100 800
Total b) 30-39 years old 2400 1500 900
Total number c) 40-49 years old 2300 1500 800
Total d) 50-59 years old 1800 900 900
Total number e) 60-69 years old 900 300 600
Total number f) 70 years old and over 700 0 700
a) Total number of men 5000 3200 1800
a) Man a) 20-29 years old 1000 600 400
a) Man b) 30-39 years old 1300 1000 300
a) Man c) 40-49 years old 1200 900 300
a) Man d) 50-59 years old 800 500 300
a) Man e) 60-69 years old 400 200 200
a) Man f) Over 70 years old 300 0 300
b) Total number of women 5000 2100 2900
b) Woman a) 20-29 years old 900 500 400
b) Woman b) 30-39 years old 1100 500 600
b) Woman c) 40-49 years old 1100 600 500
b) Woman d) 50-59 years old 1000 400 600
b) Woman e) 60-69 years old 500 100 400
b) Woman f) Over 70 years old 400 0 400

(2) セルデータの分類符号付与
F0分類 F1就業状態 F2性別 F3年齢 加重度数nw
~~~ 総数 総数 総数 10000
~~0 総数 総数 a)20〜29歳 1900
~~0 総数 総数 b)30〜39歳 2400
~~0 総数 総数 c)40〜49歳 2300
~~0 総数 総数 d)50〜59歳 1800
~~0 総数 総数 e)60〜69歳 900
~~0 総数 総数 f)70歳以上 700
~0~ 総数 a)男 総数 5000
~00 総数 a)男 a)20〜29歳 1000
~00 総数 a)男 b)30〜39歳 1300
~00 総数 a)男 c)40〜49歳 1200
~00 総数 a)男 d)50〜59歳 800
~00 総数 a)男 e)60〜69歳 400
~00 総数 a)男 f)70歳以上 300
~0~ 総数 b)女 総数 5000
~00 総数 b)女 a)20〜29歳 900
~00 総数 b)女 b)30〜39歳 1100
~00 総数 b)女 c)40〜49歳 1100
~00 総数 b)女 d)50〜59歳 1000
~00 総数 b)女 e)60〜69歳 500
~00 総数 b)女 f)70歳以上 400
0~~ a)有業 総数 総数 5300
0~0 a)有業 総数 a)20〜29歳 1100
0~0 a)有業 総数 b)30〜39歳 1500
0~0 a)有業 総数 c)40〜49歳 1500
0~0 a)有業 総数 d)50〜59歳 900
0~0 a)有業 総数 e)60〜69歳 300
0~0 a)有業 総数 f)70歳以上 0
00~ a)有業 a)男 総数 3200
000 a)有業 a)男 a)20〜29歳 600
000 a)有業 a)男 b)30〜39歳 1000
000 a)有業 a)男 c)40〜49歳 900
000 a)有業 a)男 d)50〜59歳 500
000 a)有業 a)男 e)60〜69歳 200
000 a)有業 a)男 f)70歳以上 0
00~ a)有業 b)女 総数 2100
000 a)有業 b)女 a)20〜29歳 500
000 a)有業 b)女 b)30〜39歳 500
000 a)有業 b)女 c)40〜49歳 600
000 a)有業 b)女 d)50〜59歳 400
000 a)有業 b)女 e)60〜69歳 100
000 a)有業 b)女 f)70歳以上 0
0~~ b)無業 総数 総数 4700
0~0 b)無業 総数 a)20〜29歳 800
0~0 b)無業 総数 b)30〜39歳 900
0~0 b)無業 総数 c)40〜49歳 800
0~0 b)無業 総数 d)50〜59歳 900
0~0 b)無業 総数 e)60〜69歳 600
0~0 b)無業 総数 f)70歳以上 700
00~ b)無業 a)男 総数 1800
000 b)無業 a)男 a)20〜29歳 400
000 b)無業 a)男 b)30〜39歳 300
000 b)無業 a)男 c)40〜49歳 300
000 b)無業 a)男 d)50〜59歳 300
000 b)無業 a)男 e)60〜69歳 200
000 b)無業 a)男 f)70歳以上 300
00~ b)無業 b)女 総数 2900
000 b)無業 b)女 a)20〜29歳 400
000 b)無業 b)女 b)30〜39歳 600
000 b)無業 b)女 c)40〜49歳 500
000 b)無業 b)女 d)50〜59歳 600
000 b)無業 b)女 e)60〜69歳 400
000 b)無業 b)女 f)70歳以上 400
(2) Assignment of cell data classification code
F0 classification F1 employment status F2 gender F3 age weighted frequency nw
~~~ Total total Total total 10000
~~ 0 Total Total Total a) 20-29 years old 1900
~~ 0 Total Total Total b) 30-39 years old 2400
~~ 0 Total Total Total c) 40-49 years old 2300
~~ 0 Total Total Total d) 50-59 years old 1800
~~ 0 Total Total Total e) 60-69 years old 900
~~ 0 Total total total f) 70 years old and over 700
~ 0 ~ Total number a) Total number of men 5000
~ 00 Total number a) Man a) 20-29 years old 1000
~ 00 Total number a) Man b) 30-39 years old 1300
~ 00 Total number a) Man c) 40-49 years old 1200
~ 00 Total number a) Male d) 50-59 years old 800
~ 00 Total number a) Male e) 60-69 years old 400
~ 00 Total number a) Male f) Over 70 years old 300
~ 0 ~ Total number b) Total number of women 5000
~ 00 Total number b) Woman a) 20-29 years old 900
~ 00 Total number b) Woman b) 30-39 years old 1100
~ 00 Total number b) Woman c) 40 ~ 49 years old 1100
~ 00 Total number b) Woman d) 50 ~ 59 years old 1000
~ 00 Total number b) Woman e) 60-69 years old 500
~ 00 Total number b) Woman f) 70 years old and over 400
0 ~~ a) Total number of employees Total number 5300
0 ~ 0 a) Total number of employees a) 20 ~ 29 years old 1100
0 ~ 0 a) Total number of employees b) 30 ~ 39 years old 1500
0 ~ 0 a) Total number of employees c) 40 ~ 49 years old 1500
0 ~ 0 a) Total number of employees d) 50 ~ 59 years old 900
0 ~ 0 a) Total number of employees e) 60 ~ 69 years old 300
0 ~ 0 a) Total number of employees f) 70 years old and over 0
00 ~ a) Working a) Total number of men 3200
000 a) Working a) Man a) 20-29 years old 600
000 a) Working a) Man b) 30-39 years old 1000
000 a) Working a) Man c) 40-49 years old 900
000 a) Working a) Man d) 50-59 years old 500
000 a) Working a) Man e) 60-69 years old 200
000 a) Employed a) Man f) Over 70 years old 0
00 ~ a) Working b) Total number of women 2100
000 a) Working b) Woman a) 20-29 years old 500
000 a) Working b) Woman b) 30-39 years old 500
000 a) Working b) Woman c) 40-49 years old 600
000 a) Working b) Woman d) 50-59 years old 400
000 a) Working b) Woman e) 60-69 years old 100
000 a) Working b) Woman f) Over 70 years old 0
0 ~~ b) Total number of unemployed Total 4700
0 ~ 0 b) Total number of unemployed a) 20 ~ 29 years old 800
0 ~ 0 b) Total number of unemployed b) 30 ~ 39 years old 900
0 ~ 0 b) Total number of unemployed c) 40 ~ 49 years old 800
0 ~ 0 b) Total number of unemployed d) 50 ~ 59 years old 900
0 ~ 0 b) Total number of unemployed e) 60 ~ 69 years old 600
0 ~ 0 b) Total number of unemployed f) 70 years old and over 700
00 ~ b) Unemployed a) Total number of men 1800
000 b) Unemployed a) Man a) 20-29 years old 400
000 b) Unemployed a) Man b) 30-39 years old 300
000 b) Unemployed a) Man c) 40-49 years old 300
000 b) Unemployed a) Man d) 50-59 years old 300
000 b) Unemployed a) Man e) 60-69 years old 200
000 b) Unemployed a) Man f) Over 70 years old 300
00 ~ b) Unemployed b) Total number of women 2900
000 b) Unemployed b) Woman a) 20-29 years old 400
000 b) Unemployed b) Woman b) 30-39 years old 600
000 b) Unemployed b) Woman c) 40-49 years old 500
000 b) Unemployed b) Woman d) 50-59 years old 600
000 b) Unemployed b) Woman e) 60-69 years old 400
000 b) Unemployed b) Woman f) Over 70 years old 400

(3) リスクチェック
安全基準を3としてウェイト100を乗じた300よりも最小値が小さい組合せについてリスクチェックを行う。リスクチェックにより、項目組合わせの分類[000]についてリスクセルを含むことがわかる。

分類 最小値
[000] 100
[~00] 300
[0~0] 300
[~~0] 700
[00~] 1800
[0~~] 4700
[~0~] 5000
[~~~] 10000
(3) Risk check A risk check is performed for a combination whose minimum value is smaller than 300, which is multiplied by a weight of 100, with the safety standard set to 3. The risk check reveals that the item combination classification [000] includes risk cells.

Classification minimum value
[000] 100
[~ 00] 300
[0 ~ 0] 300
[~~ 0] 700
[00 ~] 1800
[0 ~~] 4700
[~ 0 ~] 5000
[~~~] 10000

(4) 消去秘匿
多次元クロス加重度数表のリスクセルを含む分類[000]について、加重度数をゼロ値に置き換えて消去秘匿を行う。

F0分類 F1就業状態 F2性別 F3年齢 加重度数nw
~~~ 総数 総数 総数 10000
~~0 総数 総数 a)20〜29歳 1900
~~0 総数 総数 b)30〜39歳 2400
~~0 総数 総数 c)40〜49歳 2300
~~0 総数 総数 d)50〜59歳 1800
~~0 総数 総数 e)60〜69歳 900
~~0 総数 総数 f)70歳以上 700
~0~ 総数 a)男 総数 5000
~00 総数 a)男 a)20〜29歳 1000
~00 総数 a)男 b)30〜39歳 1300
~00 総数 a)男 c)40〜49歳 1200
~00 総数 a)男 d)50〜59歳 800
~00 総数 a)男 e)60〜69歳 400
~00 総数 a)男 f)70歳以上 300
~0~ 総数 b)女 総数 5000
~00 総数 b)女 a)20〜29歳 900
~00 総数 b)女 b)30〜39歳 1100
~00 総数 b)女 c)40〜49歳 1100
~00 総数 b)女 d)50〜59歳 1000
~00 総数 b)女 e)60〜69歳 500
~00 総数 b)女 f)70歳以上 400
0~~ a)有業 総数 総数 5300
0~0 a)有業 総数 a)20〜29歳 1100
0~0 a)有業 総数 b)30〜39歳 1500
0~0 a)有業 総数 c)40〜49歳 1500
0~0 a)有業 総数 d)50〜59歳 900
0~0 a)有業 総数 e)60〜69歳 300
0~0 a)有業 総数 f)70歳以上 0
00~ a)有業 a)男 総数 3200
000 a)有業 a)男 a)20〜29歳 0 (ゼロ値置換)
000 a)有業 a)男 b)30〜39歳 0 (ゼロ値置換)
000 a)有業 a)男 c)40〜49歳 0 (ゼロ値置換)
000 a)有業 a)男 d)50〜59歳 0 (ゼロ値置換)
000 a)有業 a)男 e)60〜69歳 0 (ゼロ値置換)
000 a)有業 a)男 f)70歳以上 0 (ゼロ値置換)
00~ a)有業 b)女 総数 2100
000 a)有業 b)女 a)20〜29歳 0 (ゼロ値置換)
000 a)有業 b)女 b)30〜39歳 0 (ゼロ値置換)
000 a)有業 b)女 c)40〜49歳 0 (ゼロ値置換)
000 a)有業 b)女 d)50〜59歳 0 (ゼロ値置換)
000 a)有業 b)女 e)60〜69歳 0 (ゼロ値置換)
000 a)有業 b)女 f)70歳以上 0 (ゼロ値置換)
0~~ b)無業 総数 総数 4700
0~0 b)無業 総数 a)20〜29歳 800
0~0 b)無業 総数 b)30〜39歳 900
0~0 b)無業 総数 c)40〜49歳 800
0~0 b)無業 総数 d)50〜59歳 900
0~0 b)無業 総数 e)60〜69歳 600
0~0 b)無業 総数 f)70歳以上 700
00~ b)無業 a)男 総数 1800
000 b)無業 a)男 a)20〜29歳 0 (ゼロ値置換)
000 b)無業 a)男 b)30〜39歳 0 (ゼロ値置換)
000 b)無業 a)男 c)40〜49歳 0 (ゼロ値置換)
000 b)無業 a)男 d)50〜59歳 0 (ゼロ値置換)
000 b)無業 a)男 e)60〜69歳 0 (ゼロ値置換)
000 b)無業 a)男 f)70歳以上 0 (ゼロ値置換)
00~ b)無業 b)女 総数 2900
000 b)無業 b)女 a)20〜29歳 0 (ゼロ値置換)
000 b)無業 b)女 b)30〜39歳 0 (ゼロ値置換)
000 b)無業 b)女 c)40〜49歳 0 (ゼロ値置換)
000 b)無業 b)女 d)50〜59歳 0 (ゼロ値置換)
000 b)無業 b)女 e)60〜69歳 0 (ゼロ値置換)
000 b)無業 b)女 f)70歳以上 0 (ゼロ値置換)
(4) Erasure concealment For classification [000] including risk cells in the multidimensional cross-weighted frequency table, the weighted frequency is replaced with a zero value to perform erasure concealment.

F0 classification F1 employment status F2 gender F3 age weighted frequency nw
~~~ Total total Total total 10000
~~ 0 Total Total Total a) 20-29 years old 1900
~~ 0 Total Total Total b) 30-39 years old 2400
~~ 0 Total Total Total c) 40-49 years old 2300
~~ 0 Total Total Total d) 50-59 years old 1800
~~ 0 Total Total Total e) 60-69 years old 900
~~ 0 Total total total f) 70 years old and over 700
~ 0 ~ Total number a) Total number of men 5000
~ 00 Total number a) Man a) 20-29 years old 1000
~ 00 Total number a) Man b) 30-39 years old 1300
~ 00 Total number a) Man c) 40-49 years old 1200
~ 00 Total number a) Male d) 50-59 years old 800
~ 00 Total number a) Male e) 60-69 years old 400
~ 00 Total number a) Male f) Over 70 years old 300
~ 0 ~ Total number b) Total number of women 5000
~ 00 Total number b) Woman a) 20-29 years old 900
~ 00 Total number b) Woman b) 30-39 years old 1100
~ 00 Total number b) Woman c) 40 ~ 49 years old 1100
~ 00 Total number b) Woman d) 50 ~ 59 years old 1000
~ 00 Total number b) Woman e) 60-69 years old 500
~ 00 Total number b) Woman f) 70 years old and over 400
0 ~~ a) Total number of employees Total number 5300
0 ~ 0 a) Total number of employees a) 20 ~ 29 years old 1100
0 ~ 0 a) Total number of employees b) 30 ~ 39 years old 1500
0 ~ 0 a) Total number of employees c) 40 ~ 49 years old 1500
0 ~ 0 a) Total number of employees d) 50 ~ 59 years old 900
0 ~ 0 a) Total number of employees e) 60 ~ 69 years old 300
0 ~ 0 a) Total number of employees f) 70 years old and over 0
00 ~ a) Working a) Total number of men 3200
000 a) Working a) Male a) 20-29 years old 0 (zero value replacement)
000 a) Working a) Male b) 30-39 years old 0 (zero value replacement)
000 a) Working a) Male c) 40-49 years old 0 (zero value replacement)
000 a) Working a) Male d) 50-59 years old 0 (zero value replacement)
000 a) Working a) Male e) 60-69 years old 0 (zero value replacement)
000 a) Employed a) Male f) Over 70 years old 0 (zero value replacement)
00 ~ a) Working b) Total number of women 2100
000 a) Working b) Woman a) 20-29 years old 0 (zero value replacement)
000 a) Working b) Woman b) 30-39 years old 0 (zero value replacement)
000 a) Working b) Woman c) 40-49 years old 0 (zero value replacement)
000 a) Working b) Woman d) 50-59 years old 0 (zero value replacement)
000 a) Working b) Woman e) 60-69 years old 0 (zero value replacement)
000 a) Working b) Woman f) Over 70 years old 0 (zero value replacement)
0 ~~ b) Total number of unemployed Total 4700
0 ~ 0 b) Total number of unemployed a) 20 ~ 29 years old 800
0 ~ 0 b) Total number of unemployed b) 30 ~ 39 years old 900
0 ~ 0 b) Total number of unemployed c) 40 ~ 49 years old 800
0 ~ 0 b) Total number of unemployed d) 50 ~ 59 years old 900
0 ~ 0 b) Total number of unemployed e) 60 ~ 69 years old 600
0 ~ 0 b) Total number of unemployed f) 70 years old and over 700
00 ~ b) Unemployed a) Total number of men 1800
000 b) Unemployed a) Man a) 20-29 years old 0 (zero value replacement)
000 b) Unemployed a) Male b) 30-39 years old 0 (zero value replacement)
000 b) Unemployed a) Male c) 40-49 years old 0 (zero value replacement)
000 b) Unemployed a) Man d) 50-59 years old 0 (zero value replacement)
000 b) Unemployed a) Male e) 60-69 years old 0 (zero value replacement)
000 b) Unemployed a) Male f) Over 70 years old 0 (zero value replacement)
00 ~ b) Unemployed b) Total number of women 2900
000 b) Unemployed b) Woman a) 20-29 years old 0 (zero value replacement)
000 b) Unemployed b) Woman b) 30-39 years old 0 (zero value replacement)
000 b) Unemployed b) Woman c) 40-49 years old 0 (zero value replacement)
000 b) Unemployed b) Woman d) 50-59 years old 0 (zero value replacement)
000 b) Unemployed b) Woman e) 60-69 years old 0 (zero value replacement)
000 b) Unemployed b) Woman f) Over 70 years old 0 (zero value replacement)

(5) 複合秘匿(丸め秘匿)
安全基準を5とし、ウェイト100を乗じた500を丸め基数として加重度数の丸め秘匿を行う。

F1就業状態 F2性別 F3年齢 加重度数nw
総数 総数 総数 10000
総数 総数 a)20〜29歳 2000
総数 総数 b)30〜39歳 2500
総数 総数 c)40〜49歳 2500
総数 総数 d)50〜59歳 2000
総数 総数 e)60〜69歳 1000
総数 総数 f)70歳以上 500
総数 a)男 総数 5000
総数 a)男 a)20〜29歳 1000
総数 a)男 b)30〜39歳 1500
総数 a)男 c)40〜49歳 1000
総数 a)男 d)50〜59歳 1000
総数 a)男 e)60〜69歳 500
総数 a)男 f)70歳以上 500
総数 b)女 総数 5000
総数 b)女 a)20〜29歳 1000
総数 b)女 b)30〜39歳 1000
総数 b)女 c)40〜49歳 1000
総数 b)女 d)50〜59歳 1000
総数 b)女 e)60〜69歳 500
総数 b)女 f)70歳以上 500
a)有業 総数 総数 5500
a)有業 総数 a)20〜29歳 1000
a)有業 総数 b)30〜39歳 1500
a)有業 総数 c)40〜49歳 1500
a)有業 総数 d)50〜59歳 1000
a)有業 総数 e)60〜69歳 500
a)有業 a)男 総数 3000
a)有業 a)男 a)20〜29歳 0
a)有業 a)男 b)30〜39歳 0
a)有業 a)男 c)40〜49歳 0
a)有業 a)男 d)50〜59歳 0
a)有業 a)男 e)60〜69歳 0
a)有業 b)女 総数 2000
a)有業 b)女 a)20〜29歳 0
a)有業 b)女 b)30〜39歳 0
a)有業 b)女 c)40〜49歳 0
a)有業 b)女 d)50〜59歳 0
a)有業 b)女 e)60〜69歳 0
b)無業 総数 総数 4500
b)無業 総数 a)20〜29歳 1000
b)無業 総数 b)30〜39歳 1000
b)無業 総数 c)40〜49歳 1000
b)無業 総数 d)50〜59歳 1000
b)無業 総数 e)60〜69歳 500
b)無業 総数 f)70歳以上 500
b)無業 a)男 総数 2000
b)無業 a)男 a)20〜29歳 0
b)無業 a)男 b)30〜39歳 0
b)無業 a)男 c)40〜49歳 0
b)無業 a)男 d)50〜59歳 0
b)無業 a)男 e)60〜69歳 0
b)無業 a)男 f)70歳以上 0
b)無業 b)女 総数 3000
b)無業 b)女 a)20〜29歳 0
b)無業 b)女 b)30〜39歳 0
b)無業 b)女 c)40〜49歳 0
b)無業 b)女 d)50〜59歳 0
b)無業 b)女 e)60〜69歳 0
b)無業 b)女 f)70歳以上 0
(5) Complex concealment (rounding concealment)
The safety standard is set to 5, and 500, which is multiplied by the weight 100, is used as the rounding radix to conceal the rounding of the weighted frequency.

F1 Employment status F2 Gender F3 Age Weighted frequency nw
Total total total total 10000
Total total a) 20-29 years old 2000
Total total b) 30-39 years old 2500
Total Total Total c) 40-49 years old 2500
Total total total d) 50-59 years old 2000
Total total total e) 60-69 years old 1000
Total total total f) 70 years old and over 500
Total number a) Total number of men 5000
Total number a) Male a) 20-29 years old 1000
Total a) Male b) 30-39 years old 1500
Total number a) Male c) 40-49 years old 1000
Total number a) Male d) 50-59 years old 1000
Total number a) Male e) 60-69 years old 500
Total number a) Male f) Over 70 years old 500
Total number b) Total number of women 5000
Total number b) Woman a) 20-29 years old 1000
Total number b) Woman b) 30-39 years old 1000
Total number b) Woman c) 40-49 years old 1000
Total number b) Woman d) 50-59 years old 1000
Total number b) Woman e) 60-69 years old 500
Total number b) Woman f) 70 years old and over 500
a) Total number of employees Total number 5500
a) Total number of employees a) 20-29 years old 1000
a) Total number of employees b) 30-39 years old 1500
a) Total number of employees c) 40-49 years old 1500
a) Total number of employees d) 50-59 years old 1000
a) Total number of employees e) 60-69 years old 500
a) Working a) Total number of men 3000
a) Working a) Man a) 20-29 years old 0
a) Working a) Man b) 30-39 years old 0
a) Working a) Male c) 40-49 years old 0
a) Working a) Male d) 50-59 years old 0
a) Employed a) Male e) 60-69 years old 0
a) Working b) Total number of women 2000
a) Working b) Woman a) 20-29 years old 0
a) Working b) Woman b) 30-39 years old 0
a) Working b) Woman c) 40-49 years old 0
a) Working b) Woman d) 50-59 years old 0
a) Working b) Woman e) 60-69 years old 0
b) Total number of unemployed Total 4500
b) Total number of unemployed a) 20-29 years old 1000
b) Total number of unemployed b) 30-39 years old 1000
b) Total number of unemployed c) 40-49 years old 1000
b) Total number of unemployed d) 50-59 years old 1000
b) Total number of unemployed e) 60-69 years old 500
b) Total number of unemployed f) 70 years old and over 500
b) Unemployed a) Total number of men 2000
b) Unemployed a) Man a) 20-29 years old 0
b) Unemployed a) Man b) 30-39 years old 0
b) Unemployed a) Man c) 40-49 years old 0
b) Unemployed a) Man d) 50-59 years old 0
b) Unemployed a) Man e) 60-69 years old 0
b) Unemployed a) Man f) Over 70 years old 0
b) Unemployed b) Total number of women 3000
b) Unemployed b) Woman a) 20-29 years old 0
b) Unemployed b) Woman b) 30-39 years old 0
b) Unemployed b) Woman c) 40-49 years old 0
b) Unemployed b) Woman d) 50-59 years old 0
b) Unemployed b) Woman e) 60-69 years old 0
b) Unemployed b) Woman f) Over 70 years old 0

(6) 差分計算
総数と内訳合計について、差分計算を行う。

性別 年齢 a)有業 b)無業 n’
a)男 a)20〜29歳 0 0 1000
a)男 b)30〜39歳 0 0 1500
a)男 c)40〜49歳 0 0 1000
a)男 d)50〜59歳 0 0 1000
a)男 e)60〜69歳 0 0 500
a)男 f)70歳以上 0 0 500
a)男 差分 3000 2000 -5500
b)女 a)20〜29歳 0 0 1000
b)女 b)30〜39歳 0 0 1000
b)女 c)40〜49歳 0 0 1000
b)女 d)50〜59歳 0 0 1000
b)女 e)60〜69歳 0 0 500
b)女 f)70歳以上 0 0 500
b)女 差分 2000 3000 -5000
差分 a)20〜29歳 1000 1000 -2000
差分 b)30〜39歳 1500 1000 -2500
差分 c)40〜49歳 1500 1000 -2000
差分 d)50〜59歳 1000 1000 -2000
差分 e)60〜69歳 500 500 -1000
差分 f)70歳以上 0 500 -1000
差分 差分 -5000 -5500 10500
(6) Difference calculation Perform the difference calculation for the total number and the total breakdown.

Gender Age a) Employed b) Unemployed n'
a) Man a) 20-29 years old 0 0 1000
a) Man b) 30-39 years old 0 0 1500
a) Man c) 40-49 years old 0 0 1000
a) Man d) 50-59 years old 0 0 1000
a) Man e) 60-69 years old 0 0 500
a) Man f) Over 70 years old 0 0 500
a) Man difference 3000 2000 -5500
b) Woman a) 20-29 years old 0 0 1000
b) Woman b) 30-39 years old 0 0 1000
b) Woman c) 40-49 years old 0 0 1000
b) Woman d) 50-59 years old 0 0 1000
b) Woman e) 60-69 years old 0 0 500
b) Woman f) Over 70 years old 0 0 500
b) Woman difference 2000 3000 -5000
Difference a) 20-29 years old 1000 1000 -2000
Difference b) 30-39 years old 1500 1000 -2500
Difference c) 40-49 years old 1500 1000 -2000
Difference d) 50-59 years old 1000 1000 -2000
Difference e) 60-69 years old 500 500 -1000
Difference f) Over 70 years old 0 500 -1000
Difference Difference -5000 -5500 10500

(7) セルデータ形式の差分表作成
セルデータ形式の差分表を作成する。(差分は〜で表す。)

F1就業状態 F2性別 F3年齢 n’
a)有業 a)男 〜 3000
a)有業 b)女 〜 2000
a)有業 〜 a)20〜29歳 1000
a)有業 〜 b)30〜39歳 1500
a)有業 〜 c)40〜49歳 1500
a)有業 〜 d)50〜59歳 1000
a)有業 〜 e)60〜69歳 500
a)有業 〜 〜 -5000
b)無業 a)男 〜 2000
b)無業 b)女 〜 3000
b)無業 〜 a)20〜29歳 1000
b)無業 〜 b)30〜39歳 1000
b)無業 〜 c)40〜49歳 1000
b)無業 〜 d)50〜59歳 1000
b)無業 〜 e)60〜69歳 500
b)無業 〜 f)70歳以上 500
b)無業 〜 〜 -5500
〜 a)男 a)20〜29歳 1000
〜 a)男 b)30〜39歳 1500
〜 a)男 c)40〜49歳 1000
〜 a)男 d)50〜59歳 1000
〜 a)男 e)60〜69歳 500
〜 a)男 f)70歳以上 500
〜 a)男 〜 -5500
〜 b)女 a)20〜29歳 1000
〜 b)女 b)30〜39歳 1000
〜 b)女 c)40〜49歳 1000
〜 b)女 d)50〜59歳 1000
〜 b)女 e)60〜69歳 500
〜 b)女 f)70歳以上 500
〜 b)女 〜 -5000
〜 〜 a)20〜29歳 -2000
〜 〜 b)30〜39歳 -2500
〜 〜 c)40〜49歳 -2000
〜 〜 d)50〜59歳 -2000
〜 〜 e)60〜69歳 -1000
〜 〜 f)70歳以上 -1000
〜 〜 〜 10500
(7) Creating a difference table in cell data format Create a difference table in cell data format. (The difference is represented by ~.)

F1 Employment Status F2 Gender F3 Age n'
a) Working a) Man ~ 3000
a) Working b) Woman ~ 2000
a) Working ~ a) 20 ~ 29 years old 1000
a) Employed ~ b) 30 ~ 39 years old 1500
a) Employed ~ c) 40 ~ 49 years old 1500
a) Employed ~ d) 50 ~ 59 years old 1000
a) Employed ~ e) 60 ~ 69 years old 500
a) Working ~ ~ ~ -5000
b) Unemployed a) Man ~ 2000
b) Unemployed b) Woman ~ 3000
b) Unemployed ~ a) 20 ~ 29 years old 1000
b) Unemployed ~ b) 30 ~ 39 years old 1000
b) Unemployed ~ c) 40 ~ 49 years old 1000
b) Unemployed ~ d) 50 ~ 59 years old 1000
b) Unemployed ~ e) 60 ~ 69 years old 500
b) Unemployed ~ f) 70 years old and over 500
b) Unemployed ~ ~ ~ -5500
~ A) Man a) 20 ~ 29 years old 1000
~ A) Man b) 30 ~ 39 years old 1500
~ A) Man c) 40 ~ 49 years old 1000
~ A) Man d) 50 ~ 59 years old 1000
~ A) Man e) 60 ~ 69 years old 500
~ A) Man f) Over 70 years old 500
~ A) Man ~ -5500
~ B) Woman a) 20 ~ 29 years old 1000
~ B) Woman b) 30 ~ 39 years old 1000
~ B) Woman c) 40 ~ 49 years old 1000
~ B) Woman d) 50 ~ 59 years old 1000
~ B) Woman e) 60 ~ 69 years old 500
~ B) Woman f) 70 years old and over 500
~ B) Woman ~ -5000
~ ~ A) 20-29 years old -2000
~ ~ B) 30 ~ 39 years old -2500
~ ~ C) 40-49 years old -2000
~ ~ D) 50 ~ 59 years old -2000
~ ~ E) 60 ~ 69 years old -1000
~ ~ F) 70 years old and over -1000
~ ~ ~ 10500

(8) 個票データ形式への変換
ウェイト(例:縮尺100)を指定して個票形式に変換する。

F1就業状態 F2性別 F3年齢 Weight
a)有業 a)男 〜 100 ( 30レコード出力)
a)有業 b)女 〜 100 ( 20レコード出力)
a)有業 〜 a)20〜29歳 100 ( 10レコード出力)
a)有業 〜 b)30〜39歳 100 ( 15レコード出力)
a)有業 〜 c)40〜49歳 100 ( 15レコード出力)
a)有業 〜 d)50〜59歳 100 ( 10レコード出力)
a)有業 〜 e)60〜69歳 100 ( 5レコード出力)
a)有業 〜 〜 -100 ( 50レコード出力)
b)無業 a)男 〜 100 ( 20レコード出力)
b)無業 b)女 〜 100 ( 30レコード出力)
b)無業 〜 a)20〜29歳 100 ( 10レコード出力)
b)無業 〜 b)30〜39歳 100 ( 10レコード出力)
b)無業 〜 c)40〜49歳 100 ( 10レコード出力)
b)無業 〜 d)50〜59歳 100 ( 10レコード出力)
b)無業 〜 e)60〜69歳 100 ( 5レコード出力)
b)無業 〜 f)70歳以上 100 ( 5レコード出力)
b)無業 〜 〜 -100 ( 55レコード出力)
〜 a)男 a)20〜29歳 100 ( 10レコード出力)
〜 a)男 b)30〜39歳 100 ( 15レコード出力)
〜 a)男 c)40〜49歳 100 ( 10レコード出力)
〜 a)男 d)50〜59歳 100 ( 10レコード出力)
〜 a)男 e)60〜69歳 100 ( 5レコード出力)
〜 a)男 f)70歳以上 100 ( 5レコード出力)
〜 a)男 〜 -100 ( 55レコード出力)
〜 b)女 a)20〜29歳 100 ( 10レコード出力)
〜 b)女 b)30〜39歳 100 ( 10レコード出力)
〜 b)女 c)40〜49歳 100 ( 10レコード出力)
〜 b)女 d)50〜59歳 100 ( 10レコード出力)
〜 b)女 e)60〜69歳 100 ( 5レコード出力)
〜 b)女 f)70歳以上 100 ( 5レコード出力)
〜 b)女 〜 -100 ( 50レコード出力)
〜 〜 a)20〜29歳 -100 ( 20レコード出力)
〜 〜 b)30〜39歳 -100 ( 25レコード出力)
〜 〜 c)40〜49歳 -100 ( 20レコード出力)
〜 〜 d)50〜59歳 -100 ( 20レコード出力)
〜 〜 e)60〜69歳 -100 ( 10レコード出力)
〜 〜 f)70歳以上 -100 ( 10レコード出力)
〜 〜 〜 100 (105レコード出力)
(8) Conversion to individual form data format Specify a weight (example: scale 100) and convert to individual form format.

F1 Employment Status F2 Gender F3 Age Weight
a) Working a) Man ~ 100 (30 record output)
a) Working b) Woman ~ 100 (20 records output)
a) Working ~ a) 20 ~ 29 years old 100 (10 record output)
a) Working ~ b) 30 ~ 39 years old 100 (15 record output)
a) Working ~ c) 40 ~ 49 years old 100 (15 record output)
a) Employed ~ d) 50 ~ 59 years old 100 (10 record output)
a) Employed ~ e) 60 ~ 69 years old 100 (5 record output)
a) Working ~ ~ -100 (50 record output)
b) Unemployed a) Man ~ 100 (20 records output)
b) Unemployed b) Woman ~ 100 (30 record output)
b) Unemployed ~ a) 20 ~ 29 years old 100 (10 record output)
b) Unemployed ~ b) 30 ~ 39 years old 100 (10 record output)
b) Unemployed ~ c) 40 ~ 49 years old 100 (10 record output)
b) Unemployed ~ d) 50 ~ 59 years old 100 (10 record output)
b) Unemployed ~ e) 60 ~ 69 years old 100 (5 record output)
b) Unemployed ~ f) 70 years old and over 100 (5 record output)
b) Unemployed ~ ~ -100 (55 record output)
~ A) Man a) 20 ~ 29 years old 100 (10 record output)
~ A) Man b) 30 ~ 39 years old 100 (15 record output)
~ A) Man c) 40 ~ 49 years old 100 (10 record output)
~ A) Man d) 50 ~ 59 years old 100 (10 record output)
~ A) Man e) 60 ~ 69 years old 100 (5 record output)
~ A) Male f) 70 years old and over 100 (5 record output)
~ A) Man ~ -100 (55 record output)
~ B) Woman a) 20 ~ 29 years old 100 (10 record output)
~ B) Woman b) 30 ~ 39 years old 100 (10 record output)
~ B) Woman c) 40 ~ 49 years old 100 (10 record output)
~ B) Woman d) 50 ~ 59 years old 100 (10 record output)
~ B) Woman e) 60 ~ 69 years old 100 (5 record output)
~ B) Woman f) 70 years old and over 100 (5 record output)
~ B) Woman ~ -100 (50 record output)
~ ~ A) 20 ~ 29 years old -100 (20 record output)
~ ~ B) 30 ~ 39 years old -100 (25 record output)
~ ~ C) 40 ~ 49 years old -100 (20 record output)
~ ~ D) 50 ~ 59 years old -100 (20 records output)
~ ~ E) 60 ~ 69 years old -100 (10 record output)
~ ~ F) 70 years old and over -100 (10 record output)
~ ~ ~ 100 (105 record output)

7.5.3 出力データの変換縮尺
前述の方法により加重度数について丸め処理を行う場合、秘匿処理の対象となる加重度数は標本度数に比べて大きな値になるため、これをそのまま個票形式に変換すると膨大なレコード数になってしまうことが多い。そこで、変換縮尺を指定することで、標本相当のレコード数に変換する機能を付与している。
具体的には、個票データ形式に変換する際に変換縮尺を指定し、母集団ベースの場合は加重度数を変換縮尺で除算した値をレコード数とし、ウェイト1.0に変換縮尺を乗じた値を各レコードのウェイトとして変換を行う。また、標本ベースの場合は属性区分別に基の個票データの標本数をレコード数とし、加重度数を基の個票データの標本数で除算した値をウェイトとして変換を行う。丸め基数と変換縮尺が一致している場合、丸め基数が整数であれば変換後のウェイトも丸め基数と同じ整数値になるメリットがある。
ウェイト付データの丸め処理は加重度数の丸め基数による除算で行っており、変換縮尺の処理は加重度数の変換縮尺による除算で行うことから、丸め処理と変換縮尺の処理には共通する部分が多い。丸め処理の場合はウェイトがゼロ値になる属性は秘匿上の観点からウェイトゼロ値のレコードとして出力しない。また、変換縮尺の処理についても秘匿上の観点からゼロ値を出力しない処理としており、基の個票データにウェイトがゼロ値のレコードが含まれている場合は、変換後の標本レコード数は基のレコード数と一致しなくなる。
なお、秘匿処理を行った出力データには四捨五入による丸め誤差の差分レコードが含まれるため、変換後の標本レコード数は変換前のレコード数よりも多くなるのが通常である。
7.5.3 Conversion scale of output data When rounding the weighted frequency by the above method, the weighted frequency to be concealed is larger than the sampled frequency, so it is converted to individual form as it is. Conversion often results in a huge number of records. Therefore, by specifying the conversion scale, a function to convert to the number of records equivalent to the sample is added.
Specifically, the conversion scale is specified when converting to the individual data format, and in the case of population base, the value obtained by dividing the weighted frequency by the conversion scale is used as the number of records, and the value obtained by multiplying the weight 1.0 by the conversion scale is used. Convert as the weight of each record. In the case of sample base, the number of records is the number of samples of the basic individual data for each attribute category, and the weight divided by the number of samples of the basic individual data is used as the weight for conversion. When the rounding radix and the conversion scale match, if the rounding radix is an integer, the weight after conversion has the advantage of being the same integer value as the rounding radix.
Since the rounding process of weighted data is performed by dividing the weighted data by the rounding radix, and the conversion scale process is performed by dividing the weighted data by the conversion scale, there are many common parts between the rounding process and the conversion scale process. .. In the case of rounding processing, the attribute whose weight is zero value is not output as a record with zero weight value from the viewpoint of confidentiality. In addition, the conversion scale process is also a process that does not output a zero value from the viewpoint of confidentiality, and if the original individual data contains a record with a weight of zero value, the number of sample records after conversion is the basis. Does not match the number of records in.
Since the output data subjected to the concealment processing includes a difference record of rounding error due to rounding, the number of sample records after conversion is usually larger than the number of records before conversion.

例)差分表(ウェイトが一律100で丸め基数500の場合)
年齢 a)男 b)女 n’
a)20〜29歳 1000 1000 0
b)30〜39歳 1500 1000 0
c)40〜49歳 1000 1000 500
d)50〜59歳 1000 1000 0
e)60〜69歳 500 500 0
f)70歳以上 500 500 -500
差分 -500 0 0
Example) Difference table (when the weight is 100 and the rounding radix is 500)
Age a) Man b) Woman n'
a) 20-29 years old 1000 1000 0
b) 30-39 years old 1500 1000 0
c) 40-49 years old 1000 1000 500
d) 50-59 years old 1000 1000 0
e) 60-69 years old 500 500 0
f) Over 70 years old 500 500 -500
Difference -500 0 0

(1) セルデータ形式の差分表
F1性別 F2年齢 n'
a)男 a)20〜29歳 1000
a)男 b)30〜39歳 1500
a)男 c)40〜49歳 1000
a)男 d)50〜59歳 1000
a)男 e)60〜69歳 500
a)男 f)70歳以上 500
a)男 差分 -500
b)女 a)20〜29歳 1000
b)女 b)30〜39歳 1000
b)女 c)40〜49歳 1000
b)女 d)50〜59歳 1000
b)女 e)60〜69歳 500
b)女 f)70歳以上 500
b)女 差分 0
差分 a)20〜29歳 0
差分 b)30〜39歳 0
差分 c)40〜49歳 500
差分 d)50〜59歳 0
差分 e)60〜69歳 0
差分 f)70歳以上 -500
差分 差分 0
(1) Difference table in cell data format
F1 Gender F2 Age n'
a) Man a) 20-29 years old 1000
a) man b) 30-39 years old 1500
a) man c) 40-49 years old 1000
a) Man d) 50-59 years old 1000
a) Man e) 60-69 years old 500
a) Man f) Over 70 years old 500
a) Man difference -500
b) Woman a) 20-29 years old 1000
b) Woman b) 30-39 years old 1000
b) Woman c) 40-49 years old 1000
b) Woman d) 50-59 years old 1000
b) Woman e) 60-69 years old 500
b) Woman f) Over 70 years old 500
b) Woman difference 0
Difference a) 20-29 years old 0
Difference b) 30-39 years old 0
Difference c) 40-49 years old 500
Difference d) 50-59 years old 0
Difference e) 60-69 years old 0
Difference f) Over 70 years old -500
Difference Difference 0

(2)個票データ形式(縮尺100の場合)
F1性別 F2年齢 Weight
a)男 a)20〜29歳 100 (10レコード出力)
a)男 b)30〜39歳 100 (15レコード出力)
a)男 c)40〜49歳 100 (10レコード出力)
a)男 d)50〜59歳 100 (10レコード出力)
a)男 e)60〜69歳 100 ( 5レコード出力)
a)男 f)70歳以上 100 ( 5レコード出力)
a)男 差分 -100 ( 5レコード出力)
b)女 a)20〜29歳 100 (10レコード出力)
b)女 b)30〜39歳 100 (10レコード出力)
b)女 c)40〜49歳 100 (10レコード出力)
b)女 d)50〜59歳 100 (10レコード出力)
b)女 e)60〜69歳 100 ( 5レコード出力)
b)女 f)70歳以上 100 ( 5レコード出力)
b)女 差分 0
差分 a)20〜29歳 0
差分 b)30〜39歳 0
差分 c)40〜49歳 100 ( 5レコード出力)
差分 d)50〜59歳 0
差分 e)60〜69歳 0
差分 f)70歳以上 -100 ( 5レコード出力)
差分 差分 0

注)差分の属性については、分類区分をnull値として出力する。
(2) Individual form data format (when scale is 100)
F1 Gender F2 Age Weight
a) Man a) 20-29 years old 100 (10 record output)
a) Man b) 30-39 years old 100 (15 record output)
a) Man c) 40-49 years old 100 (10 record output)
a) Man d) 50-59 years old 100 (10 record output)
a) Man e) 60-69 years old 100 (5 record output)
a) Man f) 70 years old and over 100 (5 record output)
a) Male difference -100 (5 record output)
b) Woman a) 20-29 years old 100 (10 record output)
b) Woman b) 30-39 years old 100 (10 record output)
b) Woman c) 40-49 years old 100 (10 record output)
b) Woman d) 50-59 years old 100 (10 record output)
b) Woman e) 60-69 years old 100 (5 record output)
b) Woman f) 70 years old and over 100 (5 record output)
b) Woman difference 0
Difference a) 20-29 years old 0
Difference b) 30-39 years old 0
Difference c) 40-49 years old 100 (5 record output)
Difference d) 50-59 years old 0
Difference e) 60-69 years old 0
Difference f) Over 70 years old -100 (5 record output)
Difference Difference 0

Note) For the difference attribute, the classification classification is output as a null value.

8.発明の効果
本発明により、統計調査及びアンケート調査等の個票データにおけるリスクレコードを秘匿して匿名化個票データを作成する手段を提供し、個票データを利用する際に個人が特定されるリスクを減免させることが可能となる。また、本発明による匿名化装置を用いることで、個票データ等について以下の利用方法が可能となる。

(1) 秘匿データ作成(標準機能)
個票データ⇒匿名化装置⇒匿名化データ
匿名化装置を利用して、個票データから匿名化データを作成する。

(2) 秘匿データの再利用
個票データ⇒匿名化装置⇒親匿名化データ⇒項目選択⇒匿名化装置⇒匿名化データ
匿名化装置を利用して親匿名化データを作成し、匿名化装置を再適用して匿名化データを作成

(3) 秘匿度数表作成
個票データ⇒匿名化装置⇒秘匿度数表
匿名化装置を利用して、個票データから秘匿度数表を作成

(4) 秘匿度数表の再利用
個票データ⇒匿名化装置⇒秘匿度数表⇒匿名化装置⇒匿名化データ
匿名化装置を利用して秘匿度数表を作成し、匿名化装置を再適用して匿名化データを作成

(5) 秘匿データ変換
多次元クロス度数表⇒匿名化装置⇒匿名化データ
匿名化装置を利用して、外部作成した多次元クロス度数表から匿名化データを作成
8. Effect of the Invention The present invention provides a means for creating anonymized individual data by concealing risk records in individual data such as statistical surveys and questionnaire surveys, and identifies an individual when using the individual data. It is possible to reduce or exempt the risk. Further, by using the anonymization device according to the present invention, the following usage methods can be used for individual data and the like.

(1) Confidential data creation (standard function)
Individual form data ⇒ Anonymization device ⇒ Anonymization data Anonymization data is created from individual form data using the anonymization device.

(2) Reuse of confidential data Individual data ⇒ Anonymization device ⇒ Parent anonymization data ⇒ Item selection ⇒ Anonymization device ⇒ Anonymization data Create parent anonymization data using the anonymization device and use the anonymization device. Reapply to create anonymized data

(3) Creation of concealment frequency table Individual form data ⇒ Anonymization device ⇒ Concealment frequency table Create a concealment frequency table from individual form data using the anonymization device

(4) Reuse of concealment frequency table Individual data ⇒ anonymization device ⇒ concealment frequency table ⇒ anonymization device ⇒ anonymization data Create a concealment frequency table using the anonymization device and reapply the anonymization device Create anonymized data

(5) Confidential data conversion Multidimensional cross frequency table ⇒ Anonymization device ⇒ Anonymized data Anonymized data is created from an externally created multidimensional cross frequency table using the anonymization device.

(図1)機器構成図 秘匿装置は、市販のパーソナルコンピュータ(PC)にプログラムをインストールし、入出力データと中間データを保存する記憶装置を接続して構成する。(Fig. 1) Device configuration diagram A concealment device is configured by installing a program on a commercially available personal computer (PC) and connecting a storage device that stores input / output data and intermediate data. (図2)プログラムの流れ図(全体) 個票データの匿名化処理プログラムは、多次元度数表集計処理部と秘匿変換処理部により構成する。(Fig. 2) Program flow diagram (overall) The anonymization processing program for individual data is composed of a multidimensional frequency table aggregation processing unit and a secret conversion processing unit. (図3.1)多次元度数表集計処理部のブロック図 多次元度数表集計処理部は、個票データを読み込んで集計処理を行い、後段の秘匿変換処理において入力に用いる多次元クロス度数表を作成する。(Fig. 3.1) Block diagram of the multidimensional frequency table aggregation processing unit The multidimensional frequency table aggregation processing unit reads individual data and performs aggregation processing, and the multidimensional cross frequency table used for input in the subsequent concealment conversion processing. To create. (図3.2)秘匿変換処理部のブロック図 秘匿変換処理部は、多次元クロス度数表を読み込んで削除秘匿、丸め秘匿、差分計算及び個票データ形式変換を行い、個票データから作成した多次元クロス度数表の秘匿処理を行って、個票データ形式に変換する。(Fig. 3.2) Block diagram of the concealment conversion processing unit The concealment conversion processing unit reads the multidimensional cross frequency table, performs deletion concealment, rounding concealment, difference calculation, and individual data format conversion, and creates it from the individual data. Performs concealment processing of the multidimensional cross frequency table and converts it to the individual data format. (図4.1)多次元クロス度数集計プログラムの流れ図 多次元クロス度数集計プログラムは、個票データを入力して多次元クロス度数表を集計する。(Fig. 4.1) Flow diagram of multidimensional cross frequency totaling program The multidimensional cross frequency totaling program inputs individual data and totals the multidimensional cross frequency table. (図4.2A)消去秘匿プログラム処理2A(属性組合わせ符号付与)の流れ図 (図4.2)多次元クロス度数集計プログラムの流れ図 消去秘匿プログラムは、多次元クロス度数表について度数チェックを行い、安全基準を満たさない属性項目の組合せについて、内訳をゼロ値に置き換えることで削除秘匿を行う。(Fig. 4.2A) Flow diagram of erasure concealment program processing 2A (attribute combination code assignment) (Fig. 4.2) Flow diagram of multidimensional cross frequency totaling program The erasure concealment program performs frequency check on the multidimensional cross frequency table. For combinations of attribute items that do not meet the safety standards, the breakdown is replaced with zero values to conceal the deletion. (図4.2B)消去秘匿プログラム処理2B(組合わせ別最小度数検査)の流れ図 (図4.2)多次元クロス度数集計プログラムの流れ図 消去秘匿プログラムは、多次元クロス度数表について度数チェックを行い、安全基準を満たさない属性項目の組合せについて、内訳をゼロ値に置き換えることで削除秘匿を行う。(Fig. 4.2B) Flow diagram of erasure concealment program processing 2B (minimum frequency inspection by combination) (Fig. 4.2) Flow diagram of multidimensional cross frequency totaling program The erasure concealment program checks the frequency of the multidimensional cross frequency table. , For combinations of attribute items that do not meet the safety standards, delete and conceal them by replacing the breakdown with zero values. (図4.2C)消去秘匿プログラム処理2C(リスク表内訳消去)の流れ図 (図4.2)多次元クロス度数集計プログラムの流れ図 消去秘匿プログラムは、多次元クロス度数表について度数チェックを行い、安全基準を満たさない属性項目の組合せについて、内訳をゼロ値に置き換えることで削除秘匿を行う。(Fig. 4.2C) Flow diagram of erasure concealment program processing 2C (Risk table breakdown erasure) (Fig. 4.2) Flow diagram of multidimensional cross frequency totaling program The erasure concealment program checks the frequency of the multidimensional cross frequency table and is safe. For combinations of attribute items that do not meet the criteria, delete concealment is performed by replacing the breakdown with zero values. (図4.3)丸め秘匿プログラムの流れ図 丸め秘匿プログラムは、多次元クロス度数表について度数の丸め処理を行い、丸め秘匿により度数表の秘匿強度を補強する。(Fig. 4.3) Flow diagram of rounding concealment program The rounding concealment program reinforces the concealment strength of the concealment table by rounding the multidimensional cross frequency table. (図4.4)差分計算プログラムの流れ図 差分計算プログラムは、属性の全ての組合せについて、内訳合計と総数の差分計算を行う。(Fig. 4.4) Flow diagram of the difference calculation program The difference calculation program calculates the difference between the total breakdown and the total number of all combinations of attributes. (図4.5)個票形式変換プログラムの流れ図 個票形式変換プログラムは、属性組合せごとの内訳度数と差分度数を用いて、度数表を個票形式データに変換する。(Fig. 4.5) Flow diagram of individual form conversion program The individual form conversion program converts the frequency table into individual form data by using the breakdown frequency and the difference frequency for each attribute combination.

7.産業上の利用可能性
本発明を用いることにより、統計調査等の個票データの利用において、集計や分析をより安全に行うことが可能となることが期待できる。具体的には、「公的統計の整備に関する基本的な計画(平成30年3月6日閣議決定)」において、統計調査の二次利用として、オンサイト集計、オンデマンド集計等が挙げられており、これらに関連する研究開発業務に利用できる可能性がある他、統計センターが行っているオーダーメード集計、匿名データ作成等の業務においても利用できる可能性がある。
また、行政記録を用いて統計を作成する場合の秘匿手法として用いることができる可能性がある他、インターネットの普及に伴い急速に利用が増えているビッグデータ等の利用においても個人情報の保護が重要な課題となっており、個人情報保護の観点でデータの安全性を向上させるために本発明が利用できる可能性が期待できる。
7. Industrial Applicability By using the present invention, it can be expected that aggregation and analysis can be performed more safely in the use of individual data such as statistical surveys. Specifically, in the "Basic Plan for the Development of Official Statistics (Cabinet Decision on March 6, 2018)", on-site tabulation, on-demand tabulation, etc. are mentioned as secondary uses of statistical surveys. In addition to being able to be used for research and development work related to these, it may also be used for work such as custom-made aggregation and anonymous data creation performed by the Statistics Center.
In addition, it may be used as a concealment method when creating statistics using administrative records, and personal information can be protected even when using big data, which is rapidly increasing in use with the spread of the Internet. This is an important issue, and it is expected that the present invention can be used to improve the safety of data from the viewpoint of personal information protection.

Claims (3)

個人等の属性項目により構成される個票データから多次元クロス度数表を集計して秘匿処理を行い、属性項目の組み合わせごとに総数と内訳合計の差分を計算して内訳と差分の度数に応じた属性レコードを出力することによって個票データ形式に変換することを特徴とする、個票データの匿名化手法を実現するためのプログラムを実行できるようにコンピュータにインストールした匿名化処理装置 Multi-dimensional cross frequency table is aggregated from individual data composed of attribute items such as individuals and confidential processing is performed, and the difference between the total number and the total breakdown is calculated for each combination of attribute items according to the breakdown and the frequency of the difference. Anonymization processing device installed on a computer so that a program for realizing an anonymization method for individual data can be executed, which is characterized by converting the attribute record into an individual data format. 個人等の属性項目により構成される個票データから多次元クロス度数表を集計して秘匿処理を行い、属性項目の組み合わせごとに総数と内訳合計の差分を計算して内訳と差分の度数に応じた属性レコードを出力することによって個票データ形式に変換することを特徴とする、個票データの匿名化手法をコンピュータ上で実現するためのプログラム Multi-dimensional cross frequency table is aggregated from individual data composed of attribute items such as individuals and confidential processing is performed, and the difference between the total number and the total breakdown is calculated for each combination of attribute items according to the breakdown and the frequency of the difference. A program for realizing an anonymization method of individual data on a computer, which is characterized by converting to individual data format by outputting the attribute record. 個人等の属性項目により構成される個票データから多次元クロス度数表を集計して秘匿処理を行い、属性項目の組み合わせごとに総数と内訳合計の差分を計算して内訳と差分の度数に応じた属性レコードを出力することによって個票データ形式に変換することを特徴とする、個票データの匿名化手法 Multi-dimensional cross frequency table is aggregated from individual data composed of attribute items such as individuals and confidential processing is performed, and the difference between the total number and the total breakdown is calculated for each combination of attribute items according to the breakdown and the frequency of the difference. Anonymization method of individual data, which is characterized by converting to individual data format by outputting the attribute record.
JP2019149284A 2019-08-16 2019-08-16 Anonymization device for individual data using secret conversion processing of multidimensional cross frequency table Active JP7442995B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019149284A JP7442995B2 (en) 2019-08-16 2019-08-16 Anonymization device for individual data using secret conversion processing of multidimensional cross frequency table

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019149284A JP7442995B2 (en) 2019-08-16 2019-08-16 Anonymization device for individual data using secret conversion processing of multidimensional cross frequency table

Publications (3)

Publication Number Publication Date
JP2021033382A true JP2021033382A (en) 2021-03-01
JP2021033382A5 JP2021033382A5 (en) 2022-08-29
JP7442995B2 JP7442995B2 (en) 2024-03-05

Family

ID=74676517

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019149284A Active JP7442995B2 (en) 2019-08-16 2019-08-16 Anonymization device for individual data using secret conversion processing of multidimensional cross frequency table

Country Status (1)

Country Link
JP (1) JP7442995B2 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017203904A (en) * 2016-05-12 2017-11-16 株式会社Nttドコモ Privacy protection device

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017126112A (en) 2016-01-12 2017-07-20 株式会社リコー Server, distributed server system, and information processing method

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017203904A (en) * 2016-05-12 2017-11-16 株式会社Nttドコモ Privacy protection device

Also Published As

Publication number Publication date
JP7442995B2 (en) 2024-03-05

Similar Documents

Publication Publication Date Title
Oliveira et al. Privacy preserving clustering by data transformation
Van Eck et al. A comparison of two techniques for bibliometric mapping: Multidimensional scaling and VOS
Farkas et al. Cyber claim analysis using Generalized Pareto regression trees with applications to insurance
Maleki et al. A comprehensive literature review of the rank reversal phenomenon in the analytic hierarchy process
Chang et al. TFRP: An efficient microaggregation algorithm for statistical disclosure control
US7693767B2 (en) Method for generating predictive models for a business problem via supervised learning
CN112231747A (en) Data desensitization method, data desensitization apparatus, and computer readable medium
US20220100899A1 (en) Protecting sensitive data in documents
Adiloglu et al. The impact of digitalization on the audit profession: a review of Turkish independent audit firms
Da Silva et al. Selecting audit samples using Benford's Law
CN111428142B (en) Code reviewer recommendation system and method based on random forest classifier
CN110879808A (en) Information processing method and device
Kenny et al. Evaluating Bias and Noise Induced by the US Census Bureau's Privacy Protection Methods
Wei et al. Distribution‐preserving k‐anonymity
O'Keefe et al. Comparison of Remote Analysis with Statistical Disclosure Control for Protecting the Confidentiality of Business Data.
JP7442995B2 (en) Anonymization device for individual data using secret conversion processing of multidimensional cross frequency table
Goh et al. Forensic analytics using cluster analysis: Detecting anomalies in data
Truta et al. Assessing global disclosure risk in masked microdata
Heidenreich How to design a method for measuring IT security in micro enterprises for IT security level measuring? A literature analysis
Vijayarani et al. Data transformation technique for protecting private information in privacy preserving data mining
Bogdanov et al. Protection of personal data using anonymization
Farkas et al. Cyber claim analysis through generalized Pareto regression trees with applications to insurance
CN109063097B (en) Data comparison and consensus method based on block chain
Kholis et al. Analysis Acceptance of E-Audit Application on the Financial Audit Board of the Republic of Indonesia in North Sumatera Regional Office
O’keefe Privacy and confidentiality in service science and big data analytics

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220809

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220809

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230510

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230530

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230725

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231107

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231220

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240130

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240221

R150 Certificate of patent or registration of utility model

Ref document number: 7442995

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150