A non-transitory computer-readable storage medium storing therein a data transformation program that causes a computer to perform a procedure comprising:
- obtaining a first dataset having three or more items and a second dataset having the three or more items in a memory, the first dataset being a collection of first records each including a numerical value that indicates a relationship among three or more first item values belonging to the three or more items, respectively, the second dataset being a collection of second records each including a numerical value that indicates a relationship among three or more second item values belonging to the three or more items, respectively;
- selecting one of the three or more items so as to divide the first item values into selected first item values belonging to a selected item which is selected and non-selected first item values belonging to two or more non-selected items which are not selected, as well as the second item values into selected second item values belonging to the selected item and non-selected second item values belonging to the two or more non-selected items;
- calculating similarity between relationships of the selected first item values with the non-selected first item values in the first dataset and relationships of the selected second item values with the non-selected second item values in the second dataset;
- generating, based on the calculated similarity, a first weight dataset that includes first weight values to be multiplied by the selected first item values to calculate a subset of transformed item values that belongs to the selected item, as well as a second weight dataset that includes second weight values to be multiplied by the selected second item values to calculate the subset of transformed item values that belongs to the selected item, the first weight dataset being a first matrix that satisfies orthonormality conditions, the first matrix being formed from the first weight values, the second weight dataset being a second matrix that satisfies orthonormality conditions, the second matrix being formed from the second weight values;
- repeating the calculating of similarity and the generating of the first weight dataset and the second weight dataset, while changing the selected item;
- transforming the first dataset having the three or more items into a first similarity-determining dataset having the three or more items, based on the first weight datasets generated for the three or more items as a result of the repeating, the first similarity-determining dataset being a collection of third records each including a numerical value that indicates a relationship among three or more of the transformed item values belonging to the three or more items, respectively;
- transforming the second dataset having the three or more items into a second similarity-determining dataset having the three or more items, based on the second weight datasets generated for the three or more items as a result of the repeating, the second similarity-determining dataset being a collection of fourth records each including a numerical value that indicates a relationship among three or more of the transformed item values belonging to the three or more items, respectively;
- and
- storing the first similarity-determining dataset and the second similarity-determining dataset in the memory.