Information processing method, information processing device, information processing program, and computer-readable storage medium storing the information processing program.

The method enhances factor identification by clustering data into block diagonal matrices, applying t-SNE for dimensionality reduction, and visualizing vector relationships to address challenges in PLSA analysis of large datasets.

JP7859172B2Active Publication Date: 2026-05-15MAZDA MOTOR CORP
View PDF 6 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
MAZDA MOTOR CORP
Filing Date
2022-04-27
Publication Date
2026-05-15

AI Technical Summary

Technical Problem

Existing methods struggle to clearly identify factors that cause values of objective factors to be separated into 0 and 1 in large datasets analyzed using stochastic latent semantic analysis (PLSA), particularly when visualizing multidimensional vectors is difficult and insufficient to capture differences between factors.

Method used

An information processing method that applies PLSA to cluster data into block diagonal matrices, generates multidimensional vectors for analysis targets, reduces dimensions using t-SNE, and visualizes relative positional relationships between vectors to identify factors contributing to objective factor separations.

Benefits of technology

This method allows for clearer identification of factors causing objective factor separations by visualizing and analyzing relative positional relationships, capturing differences from multiple perspectives and improving understanding of factor influences.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007859172000002
    Figure 0007859172000002
  • Figure 0007859172000003
    Figure 0007859172000003
  • Figure 0007859172000004
    Figure 0007859172000004
Patent Text Reader

Abstract

To more clearly grasp a cause that values of first and second object factors are separated into 0 and 1 in matrix data analysis as compared with prior art.SOLUTION: An information processing method includes: a step S1 of applying a PLSA method to matrix data; a step S2 of generating a multidimensional vector using, as a basis, each of object persons ni who belong to a specific latent class in the matrix data to which the PLSA method has been applied and using a value of a factor pj assigned to each of the object persons ni as a component of each basis; a step S3 of generating a low-dimensional vector by applying a t-SNE method to the multidimensional vector; and a step S4 of visualizing a relative positional relationship between low-dimensional vectors corresponding to first and second object factors pf, ps and a low-dimensional vector corresponding to a comparison factor. In the information processing method, the specific latent class is changed to another one and steps S2 to S4 are executed both before and after the change, and execution results obtained before and after the change are compared with each other to analyze a cause that the values of the first and second object factors pf, ps are separated into 0 and 1.SELECTED DRAWING: Figure 3
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The technologies disclosed herein relate to an information processing method, an information processing device, an information processing program, and a computer-readable storage medium storing the information processing program. [Background technology]

[0002] As an analytical method for complex big data, the so-called stochastic latent semantic analysis (PLSA) is widely known. PLSA is a method that reduces the dimensionality of at least one of the row and column components by clustering the matrix being analyzed according to its latent variables.

[0003] For example, when PLSA is applied to a matrix where the row components are survey respondents, the column components are survey items, and the values ​​are the survey responses, each latent class classified by the latent variables will contain one or more survey respondents and one or more survey items.

[0004] In this case, assuming that the matrix includes survey items such as "Do you prefer manufacturer A or not?", "Do you prefer manufacturer B or not?", and "Do you prefer manufacturer C or not?", it becomes possible to provide interpretations for survey respondents belonging to the same latent class according to the survey items, such as "Respondents belonging to the first latent class prefer manufacturer A, respondents belonging to the second latent class prefer manufacturer B, respondents belonging to the third latent class prefer manufacturer C, and so on."

[0005] As a specific example of PLSA application, for instance, Patent Document 1 discloses the use of PLSA to cluster mined data in a method for acquiring, analyzing, and mining target data and / or information.

[0006] Furthermore, the so-called t-distribution stochastic neighbor embedding method (t-SNE) is known as an algorithm for reducing the dimensionality of complex high-dimensional data. By using t-SNE, it becomes possible to transform high-dimensional data into 2D or 3D data while maintaining the local relationships between data points.

[0007] As a specific application example of t-SNE, for example, Patent Document 2 below discloses that a processing unit uses t-SNE to generate a two-dimensional or three-dimensional space in which each element of reference data is mapped. [Prior art documents] [Patent Documents]

[0008] [Patent Document 1] Special Publication No. 2009-525514 [Patent Document 2] Japanese Patent Publication No. 2019-91454 [Overview of the project] [Problems that the invention aims to solve]

[0009] The inventors of this application attempted to perform an analysis using PLSA on a matrix formed by mapping multiple subjects to be analyzed and multiple factors consisting of values ​​of 0 or 1 assigned to each of the subjects.

[0010] In this case, the latent classes obtained by PLSA are characterized by one or more analytes belonging to each latent class, and one or more factors belonging to the same latent class as those analytes. Here, the values ​​of factors belonging to a given latent class will be similar among analytes belonging to the same latent class, but they will not necessarily be exactly the same.

[0011] To explain using the example mentioned earlier, "the survey respondents classified as a latent class that prefers manufacturer A include not only respondents who actually own manufacturer A's products (respondents assigned a value of 1), but also respondents who do not own manufacturer A's products (respondents assigned a value of 0)."

[0012] The inventors of the present invention considered analyzing the factors that caused the values ​​of two factors belonging to one of the latent classes (hereinafter referred to as the "first objective factor" and the "second objective factor") to be separated into 0 and 1, based on the relationship between these first and second objective factors and other factors.

[0013] One possible method for performing such analysis is to generate a multidimensional vector with the same number of dimensions as the number of analytes belonging to a particular latent class by treating each factor belonging to a specific latent class as a distinct vector in the matrix after clustering using PLSA. In this case, by analyzing the Euclidean distance between the vector corresponding to the first objective factor, the vector corresponding to the second objective factor, and the vectors corresponding to other factors, it becomes possible to extract factors that have the same tendencies as both the first and second objective factors, or conversely, factors that have the same tendencies as one objective factor and tend to be incompatible with the other objective factor.

[0014] However, when the number of subjects being analyzed is large, the aforementioned multidimensional vectors are difficult to visualize and intuitively grasp. Therefore, it is conceivable to apply t-SNE to the multidimensional vectors corresponding to each factor belonging to a specific latent class to transform them into lower-dimensional vectors.

[0015] However, as mentioned above, the values ​​of factors belonging to the same latent class can be similar among the analytes belonging to the same latent class. Therefore, low-dimensional vectors corresponding to such factors alone are insufficient to capture the difference in trends between them and the low-dimensional vectors corresponding to the first and second objective factors.

[0016] This disclosure has been made in view of the above, and its purpose is to more clearly identify the factors that cause the values ​​of the first and second objective factors to be separated into 0 and 1 when analyzing matrix data obtained by creating a matrix of multiple subjects and multiple factors consisting of values ​​of 0 or 1 assigned to each of the multiple subjects. [Means for solving the problem]

[0017] A first aspect of this disclosure relates to an information processing method for analyzing matrix data obtained by creating a matrix of multiple subjects and multiple factors consisting of values ​​of 0 or 1 assigned to each of the multiple subjects, using a computer equipped with an arithmetic unit for executing a program, and for visualizing the results of the analysis.

[0018] Furthermore, according to a first aspect of the present disclosure, the information processing method includes: a PLSA step in which the arithmetic unit clusters the matrix data by applying the PLSA method to the matrix data so that it approaches a block diagonal matrix consisting of block matrices labeled by different latent classes; an analysis target extraction step in which the arithmetic unit generates a multidimensional vector for at least some of the multiple factors, with each analysis target belonging to a specific latent class as a base and the value of the factor assigned to each analysis target as the component of each base in the matrix data after clustering; a dimensionality reduction step in which the arithmetic unit compresses the multidimensional vector into a 2-dimensional or 3-dimensional low-dimensional vector by applying the t-SNE method to the multidimensional vector; and two different factors from the at least some of the factors as the first and second target factors, respectively. The process includes a vector visualization step in which the calculation unit visualizes the relative positional relationship between a low-dimensional vector corresponding to the first objective factor, a low-dimensional vector corresponding to the second objective factor, and each low-dimensional vector corresponding to the one or more comparison factors, assuming that one or more other factors belonging to a specific latent class are used as comparison factors; and a factor analysis step in which the factors that caused the values ​​of the first and second objective factors to be separated into 0 and 1 are analyzed based on the relative positional relationship visualized by the vector visualization step. The process involves changing the specific latent class from one latent class to another while the first and second objective factors are fixed, and executing the analysis target extraction step, the dimensionality reduction step, and the vector visualization step in both the specific latent class before and after the change, and then executing the factor analysis step by comparing the results of the vector visualization step before and after the change.

[0019] In the PLSA step described above, a given matrix is ​​rearranged (clustered) so that it approaches a block-diagonal matrix. Hereafter, the matrix after clustering will also be called a "quasi-block-diagonal matrix". Unlike the non-block-diagonal portion of a block-diagonal matrix, the non-block-diagonal portion of a "quasi-block-diagonal matrix" can take non-zero values.

[0020] Furthermore, each block matrix obtained through clustering (in other words, rearranging matrices to approximate a block-diagonal matrix) corresponds to a latent class. Note that the term "block matrix" here refers to the matrices that constitute the block-diagonal portion of the aforementioned quasi-block-diagonal matrix.

[0021] According to the first embodiment described above, the t-SNE method is applied to a multidimensional vector in which each analyte belonging to a specific latent class (hereinafter simply referred to as "specific class") is used as a base, and the values ​​of the factors assigned to each analyte are used as components of each base, thereby reducing the dimensionality of the multidimensional vector to a lower-dimensional vector.

[0022] Then, when visualizing the low-dimensional vectors, a comparison is made between the first and second objective factors belonging to one of the latent classes and other comparison factors belonging to the aforementioned specific class. At that time, the specific class related to the latter comparison factor is changed from one latent class to another latent class, and the content visualized by the vector visualization step is compared before and after the change.

[0023] In other words, by changing the specific class to which the comparison factor belongs and performing visualization using the vector visualization step in each specific class, it is possible to clarify the difference between the low-dimensional vector corresponding to the first or second objective factor and the low-dimensional vector corresponding to the comparison factor. With the difference clarified in this way, by searching for comparison factors that are close to or far from each objective factor, it becomes possible to grasp more clearly than before the factors that may have caused the values ​​of the two objective factors to be 0 or 1.

[0024] Furthermore, changing the specific class to which a comparison factor belongs is equivalent to changing the base subjects of the multidimensional vector. By changing the specific class in this way and searching for comparison factors that strongly correlate with the objective factor in each specific class, it becomes possible to capture the factors that caused the values ​​of the first and second objective factors to be separated into 0 and 1 from a wider range of perspectives than before.

[0025] Furthermore, according to a second aspect of this disclosure, in the vector visualization step, the calculation unit determines a first distance indicating the Euclidean distance between the low-dimensional vector corresponding to the first objective factor and the low-dimensional vector corresponding to each of the one or more comparison factors, and a second distance indicating the Euclidean distance between the low-dimensional vector corresponding to the second objective factor and the low-dimensional vector corresponding to each of the one or more comparison factors. In the factor analysis step, based on the length of the first and second distances, the calculation unit searches for factors from among the one or more comparison factors that contributed to the values ​​of the first and second objective factors.

[0026] According to the second embodiment described above, the factor analysis step is configured to search for factors based on the length of each Euclidean distance. This configuration makes it possible to visualize and search in a more intuitively understandable format. This is advantageous in capturing factors where the values ​​of the first and second objective factors are separated into 0 and 1.

[0027] Furthermore, according to a third aspect of this disclosure, the factor analysis step may involve searching for at least one of the one or more comparison factors that is close to the first objective factor and far from the second objective factor, and a comparison factor that is far from the first objective factor and close to the second objective factor, and then analyzing the factors that caused the values ​​of the first and second objective factors to be divided into 0 and 1 based on the search results.

[0028] According to the third embodiment described above, by searching for comparison factors that are close to or far from the first objective factor and comparison factors that are close to or far from the second objective factor, the factors that caused the values ​​of the two objective factors to diverge can be analyzed more accurately.

[0029] Furthermore, according to a fourth aspect of this disclosure, the particular latent class may be selected from the latent classes obtained by the PLSA step, in which at least one of the first objective factor and the second objective factor does not belong.

[0030] Generally, as is evident from the fact that each block matrix obtained by clustering corresponds to a latent class, low-dimensional vectors corresponding to factors belonging to the same latent class tend to show similar trends (for example, they tend to have similar vector lengths or their inner product is close to 1).

[0031] In contrast, by differentiating the latent class to which the first and / or second objective factors belong from the specific class to which the comparison factors belong, the differences between the low-dimensional vectors corresponding to each factor can be clarified. With these differences clarified, by searching for comparison factors that are close to or far from the first and / or second objective factors, it becomes possible to more clearly identify the factors that may have caused the values ​​of those objective factors to be 0 and 1 than before.

[0032] Furthermore, searching for comparative factors while ensuring that the latent class to which the objective factor belongs and the specific class to which the comparative factor belongs are different is equivalent to searching for comparative factors that, although classified into different latent classes at the PLSA stage, still strongly correlate with the objective factor. This is insight that cannot be obtained with conventional PLSA methods, and it becomes possible to understand the factors that resulted in the values ​​of the first and second objective factors being 0 and 1 from a more multifaceted perspective than before.

[0033] Furthermore, according to a fifth aspect of this disclosure, the first objective factor is a flag indicating whether or not a predetermined article is owned, and the second objective factor is a different article from the predetermined article. possession A flag indicating whether or not the predetermined article and the other Goods This may be defined as articles of the same type but from different manufacturers.

[0034] According to the fifth embodiment described above, the basis for the multidimensional vector corresponding to the first or second objective factor includes the analytes whose flag is set to 1, that is, the analytes who actually own the item. By performing the aforementioned visualization on the low-dimensional vector generated based on such a multidimensional vector, it becomes possible to grasp the factors that led to owning the item, or the factors that led not to owning it, from a wider range of perspectives than before.

[0035] For example, if the second objective factor is a flag indicating whether or not the user owns a competing product of the first objective factor, then by exploring the factors that caused the first and second objective factors to be divided into 0 and 1, it becomes possible to identify areas for improvement, selling points, etc., of the competing product. By analyzing these findings, it becomes possible to clarify (visualize) areas for improvement, etc., of the product corresponding to the first objective factor.

[0036] A sixth aspect of this disclosure relates to an information processing device comprising a computer having an arithmetic unit for executing a program, which analyzes matrix data obtained by matrixing a plurality of subjects for analysis and a plurality of factors consisting of values ​​of 0 or 1 assigned to each of the plurality of subjects for analysis, and visualizes the results of the analysis.

[0037] Furthermore, according to a sixth aspect of the present disclosure, the information processing device includes: PLSA means for clustering the matrix data so that it approaches a block diagonal matrix consisting of block matrices labeled by different latent classes, by applying the PLSA method to the matrix data by the calculation unit; analysis target extraction means for generating multidimensional vectors in the clustered matrix data, with each analysis target belonging to a specific latent class as a base and the values ​​of the factors assigned to each analysis target as components of each base, for at least some of the multiple factors; dimensionality reduction means for compressing the multidimensional vectors into two- or three-dimensional low-dimensional vectors by applying the t-SNE method to the multidimensional vectors by the calculation unit; and two different factors from the at least some of the factors. The system comprises, with the first and second objective factors respectively, and one or more other factors belonging to the specific latent class as comparison factors, a vector visualization means that visualizes the relative positional relationship between a low-dimensional vector corresponding to the first objective factor, a low-dimensional vector corresponding to the second objective factor, and each low-dimensional vector corresponding to the one or more comparison factors, and a factor analysis means that analyzes the factors that caused the values ​​of the first and second objective factors to be separated into 0 and 1 based on the relative positional relationship visualized by the vector visualization means, and with the first and second objective factors fixed, the system changes the specific latent class from one latent class to another latent class, and performs processing by the analysis target extraction means, the dimensionality reduction means, and the vector visualization means on both the specific latent class before and after the change, and the vector visualization means By comparing the execution results before and after the change, the processing by the factor analysis means is executed.

[0038] According to the sixth embodiment described above, when analyzing matrix data, the factors that caused the values ​​of the first and second objective factors to be separated into 0 and 1 can be identified more clearly than in the conventional method.

[0039] A seventh aspect of this disclosure relates to an information processing program that analyzes matrix data, which is formed by creating a matrix of multiple subjects for analysis and multiple factors consisting of values ​​of 0 or 1 assigned to each of the multiple subjects for analysis, by having it executed on a computer equipped with an arithmetic unit for executing the program, and visualizes the results of the analysis.

[0040] Furthermore, according to a seventh aspect of the present disclosure, the information processing program includes: a PLSA step in which the computer clusters the matrix data by applying the PLSA method to the matrix data so that it approaches a block diagonal matrix consisting of block matrices labeled by different latent classes; an analysis target extraction step in which the computer generates multidimensional vectors for at least some of the multiple factors, with each analysis target belonging to a specific latent class as a base and the values ​​of the factors assigned to each analysis target as components of each base in the matrix data after clustering; a dimensionality reduction step in which the computer compresses the multidimensional vectors into two- or three-dimensional low-dimensional vectors by applying the t-SNE method to the multidimensional vectors; and two different factors from the at least some of the factors as the first and second target factors, respectively. If one or more other factors belonging to a specific latent class are used as comparison factors, the calculation unit performs a vector visualization step in which it visualizes the relative positional relationship between a low-dimensional vector corresponding to the first objective factor, a low-dimensional vector corresponding to the second objective factor, and each low-dimensional vector corresponding to the one or more comparison factors; and a factor analysis step in which it analyzes the factors that caused the values ​​of the first and second objective factors to be separated into 0 and 1 based on the relative positional relationship visualized by the vector visualization step. The computer is then instructed to change the specific latent class from one latent class to another latent class while the first and second objective factors are fixed, and to perform the analysis target extraction step, the dimensionality reduction step, and the vector visualization step in both the specific latent class before and after the change, and to perform the factor analysis step by comparing the results of the vector visualization step before and after the change.

[0041] According to the seventh embodiment described above, when analyzing matrix data, the factors that caused the values ​​of the first and second objective factors to be separated into 0 and 1 can be identified more clearly than in the conventional method.

[0042] Furthermore, an eighth aspect of this disclosure relates to a computer-readable storage medium characterized by storing the information processing program.

[0043] According to the eighth aspect described above, when analyzing matrix data, the factors that caused the values ​​of the first and second objective factors to be separated into 0 and 1 can be identified more clearly than in the conventional method. [Effects of the Invention]

[0044] As explained above, this disclosure makes it possible to more clearly identify the factors that caused the values ​​of the first and second objective factors to be separated into 0 and 1 compared to conventional methods. [Brief explanation of the drawing]

[0045] [Figure 1] Figure 1 is a diagram illustrating the hardware configuration of an information processing device. [Figure 2] Figure 2 is a diagram illustrating the software configuration of an information processing device. [Figure 3] Figure 3 is a flowchart illustrating the steps of an information processing method. [Figure 4] Figure 4 is a flowchart illustrating the steps of the PLSA procedure. [Figure 5] Figure 5 is an example of matrix data. [Figure 6] Figure 6 is a diagram illustrating the basic concepts of the PLSA steps. [Figure 7] Figure 7 is an example of the clustering results. [Figure 8] Figure 8 is a flowchart illustrating the steps for the analysis target extraction step. [Figure 9A] Figure 9A is a diagram illustrating the basic concept of the analysis target selection step. [Figure 9B] Figure 9B is a diagram illustrating the basic concept of the analysis target extraction step after a specific class change. [Figure 10] Figure 10 is a flowchart illustrating the steps of the dimensionality reduction process. [Figure 11] Figure 11 is a flowchart illustrating the steps of the vector visualization process. [Figure 12] Figure 12 is a flowchart illustrating the steps of the factor analysis process. [Figure 13] Figure 13 illustrates the content that is visualized by the vector visualization step. [Figure 14] Figure 14 illustrates the content visualized by the second vector visualization step. [Figure 15] Figure 15 illustrates the content visualized by the third vector visualization step. [Modes for carrying out the invention]

[0046] The embodiments of this disclosure will be described below with reference to the drawings. Note that the following description is illustrative.

[0047] <Device configuration> Figure 1 is a diagram illustrating the hardware configuration of the information processing device (specifically, computer 1 that constitutes the information processing device) related to this disclosure, and Figure 2 is a diagram illustrating its software configuration.

[0048] As illustrated in Figure 1, computer 1 comprises a Central Processing Unit (CPU) 3 that controls the entire computer 1, a Read Only Memory (ROM) 5 that stores boot programs and the like, a Random Access Memory (RAM) 7 that functions as main memory, and a Hard Disk Drive (HDD) 9 as secondary storage. Note that a Solid State Drive (SSD) or the like can be used instead of the HDD 9 as secondary storage.

[0049] Of these elements, the CPU3 executes various programs. The CPU3 functions as the arithmetic unit in this embodiment. The RAM7 and HDD9 temporarily or continuously store the programs executed by the CPU3. The RAM7 and HDD9 each function as the storage units in this embodiment.

[0050] Computer 1 also includes a display 11, a graphics memory (Video RAM: VRAM) 13 for storing image data displayed on the display 11, and a keyboard 15 and mouse 17 as a human-machine interface. The display 11 can display the calculation results of the CPU 3 and functions as a display unit in this embodiment. Furthermore, computer 1 according to this embodiment can send and receive data with external devices via a communication interface 21.

[0051] As illustrated in Figure 2, the program memory of HDD9 stores the operating system (OS) 19, PLSA program 29A, analysis target extraction program 29B, dimensionality reduction program 29C, vector visualization program 29D, specific class change program 29E, factor analysis program 29F, application program 39, and the like.

[0052] Of these elements, the PLSA program 29A, the analysis target extraction program 29B, the dimensionality reduction program 29C, the vector visualization program 29D, the specific class change program 29E, and the factor analysis program 29F constitute the information processing program 29 in this embodiment.

[0053] Here, the information processing program 29 is a program for executing the information processing method described later, and is configured to cause the computer 1 to execute each step that constitutes the method. The information processing program 29 is pre-stored in a computer-readable storage medium 18.

[0054] In the program memory of HDD9, the PLSA program 29A, the analysis target extraction program 29B, the dimensionality reduction program 29C, the vector visualization program 29D, the specific class change program 29E, and the factor analysis program 29F are each activated in response to commands input from the keyboard 15, mouse 17, etc. At that time, the PLSA program 29A, etc. are loaded from HDD9 into RAM7 and executed by CPU3.

[0055] Meanwhile, the data memory of HDD9 stores the matrix data 49 to be analyzed and the cluster data 59 obtained by clustering the matrix data 49.

[0056] In addition, various data generated by executing the PLSA program 29A, the analysis target extraction program 29B, the dimensionality reduction program 29C, the vector visualization program 29D, the specific class change program 29E, and the factor analysis program 29F, as well as the execution results of the application program 39, are stored in the data memory of the HDD9 or in the RAM7 as main memory, as needed.

[0057] The following provides a detailed explanation of the specific methodologies for information processing.

[0058] <Methodology> Figure 3 is a flowchart illustrating the steps of an information processing method. The method illustrated in Figure 3 uses computer 1 to analyze matrix data 49 and visualize the analysis results.

[0059] As shown in Figure 3, the information processing method is carried out by sequentially executing the following steps: the PLSA step (step S1), the analysis target extraction step (step S2), the dimensionality reduction step (step S3), the vector visualization step (step S4), the specific class change step (step S6), and the factor analysis step (step S7). The results of both the vector visualization step and the factor analysis step can be displayed on the display unit 11.

[0060] Of these steps, the PLSA step is performed by the CPU3 executing the aforementioned PLSA program 29A. Similarly, the analysis target extraction step is performed by the CPU3 executing the analysis target extraction program 29B, the dimensionality reduction step is performed by the CPU3 executing the dimensionality reduction program 29C, the vector visualization step is performed by the CPU3 executing the vector visualization program 29D, the specific class change step is performed by the CPU3 executing the specific class change program 29E, and the factor analysis step is performed by the CPU3 executing the factor analysis program 29F.

[0061] When CPU3 executes the PLSA program 29A, etc., computer 1 functions as an information processing device comprising: PLSA means for executing PLSA steps; analysis target extraction means for executing analysis target extraction steps; dimensionality reduction means for executing dimensionality reduction steps; vector visualization means for executing vector visualization steps; specific class change means for executing specific class change steps; and factor analysis means for executing factor analysis steps.

[0062] The following describes each step that constitutes the information processing method in order.

[0063] (PLSA Step) Figure 4 is a flowchart illustrating the steps of the PLSA process. Figure 5 is an example of matrix data 49, Figure 6 is a diagram explaining the basic concept of the PLSA process, and Figure 7 is an example of the clustering results.

[0064] Here, the flowchart illustrated in Figure 4 shows the process performed in step S1 of Figure 3. That is, when the control process proceeds to step S1 in Figure 3, the CPU 3 will execute steps S11-S14 of Figure 4 in order.

[0065] The PLSA step is configured such that CPU3 applies the PLSA method to the matrix data 49 to cluster the matrix data so that it approaches a block-diagonal matrix consisting of block matrices, each labeled by a different latent class. In other words, the PLSA step is configured to cluster the matrix data so that it becomes the aforementioned quasi-block-diagonal matrix containing block matrices, each labeled by a different latent class.

[0066] Specifically, in step S11 of Figure 4, the CPU 3 reads the matrix data 49.

[0067] This matrix data 49 is for multiple analysis subjects n i (i=1,2,…,N) and the multiple subjects n i Multiple factors p, each consisting of a value of 0 or 1 assigned to it. j This is formed by creating a matrix of (j=1,2,…,M). Hereafter, "analysis subjects" will be simply referred to as "subjects". The number of subjects (=N) is preferably 100 or more, and more preferably 1000. The number of factors (=M) is preferably 100 or more, and more preferably 200 or more.

[0068] In particular, in this embodiment, the row components of the matrix data 49 correspond to each subject, and the column components correspond to each factor. That is, if a matrix of N rows and M columns corresponding to the matrix data 49 is represented as X, the (i, j) component of X is the value of the j-th factor p i in the i-th subject n j .

[0069] The plurality of factors p j may each be a flag indicating the properties, status, etc. of each subject n i . The properties of each subject n i include the gender, personality, and preferences of each subject n i . The status of each subject n i includes the age, health status of each subject n i and a flag indicating whether the subject owns a predetermined item. The plurality of factors p j may each be the result of a questionnaire answered for each subject n i . As a provisional term, the properties and status of each subject n i may be collectively referred to as "values".

[0070] In particular, in this embodiment, as the preferences of each subject n i , among the plurality of factors p j , there are a flag indicating whether the subject owns an item manufactured by manufacturer A (for example, an automobile manufactured by company A) (factor p1: "user A" in FIG. 5), a flag indicating whether the subject owns an item of the same type as this item and manufactured by manufacturer B (for example, an automobile manufactured by company B) (factor p2: "user B" in FIG. 5), and a flag indicating whether the subject owns an item of the same type as this item and manufactured by manufacturer C (for example, an automobile manufactured by company C) (factor p3: "user C" in FIG. 5).

[0071] Specifically, in the example shown in FIG. 5, among the plurality of factors p j , there are a flag indicating the gender of the subject n i (factors p4 and p5), and the gender of the subject n iFlags indicating age (factors p6 and p7: "Younger generation" and "Older generation") and the number of subjects n i Flags indicating preferences (factor p8~factor p) 11 ) and are assumed to be included.

[0072] For more details, the example shown in Figure 5 involves multiple factors p j This includes a flag indicating whether or not to pursue design aesthetics (factor p8: "design aesthetics"), a flag indicating whether or not to pursue functionality (factor p9: "functionality"), and a flag indicating whether or not to seek a sense of luxury (factor p 10 : "Premium feel") and a flag (factor p) indicating whether or not to pursue a sense of value for money. 11 : "Design quality") and other factors are indicated. In addition, the quality of eyesight, cognitive ability, etc., are considered for the target group n i Factor p is a flag indicating the health status. j This includes whether or not the target group enjoys group activities, etc. i A flag indicating the characteristics of factor p j You can include it in that.

[0073] Note that there are multiple factors p j This includes target person n i It may include a flag that is selected alternatively, such as the age of the subject n. i It may include flags that allow for overlap, such as preferences. For example, as shown in factors p6 and p7 in Figure 5, for subjects n i For age, either the young adult or older adult flag will be 1, and the other flag will be 0. In contrast, as shown in factors p8 and p9 of the same figure, for the subject n i The preference can be expressed as follows: both flags for "pursuing design" and "pursuing functionality" may be set to 1; one flag may be set to 1; or both flags may be set to 0.

[0074] Subsequently, in step S12, following step S11, the CPU3, acting as the arithmetic unit, applies the PLSA method to the matrix data 49 read in step S11. By applying the PLSA method, the matrix data 49 is rearranged to approximate a block diagonal matrix, thereby creating multiple clusters Cl z The clusters will be arranged in (z=1,2,…,Z). Here, each cluster C is a block matrix (the block diagonal portion of a quasi-block diagonal matrix). z This will be labeled by the so-called latent class (latent variable) z.

[0075] PLSA corresponds to the expansion of the joint probability distribution P(i,j) of row element i and column element j in matrix data 49 using latent class z, and expressed as shown in equation (1) below.

[0076]

number

[0077] As shown in the above equation, both the row element i and the column element j can be represented using the latent class z. In other words, multiple subjects n i It is classified into one of the latent classes z, and at the same time, multiple factors p j Each will be classified into one of the latent classes z. These classifications are all performed alternately.

[0078] In the specific calculations, the so-called EM algorithm is used to maximize the log-likelihood of the joint probability distribution P(i,j) and perform clustering. As a result, as shown in the lower part of Figure 6, the number of subjects n i and factor p j These can be classified into the first cluster Cl1 (z=1), the second cluster Cl2 (z=2), the third cluster Cl3 (z=3), and so on. z The constituent components are arranged so that those with a high probability of having a flag of 1 are grouped together. In other words, as shown in the (1,2) component of the first cluster Cl1, each cluster Clz The constituent components are not necessarily always equal to 1.

[0079] Note that the lower part of Figure 6 is merely a general example. As mentioned above, if the number of subjects is set to 100 or more and the number of factors is set to 100 or more, each cluster Cl z n individuals belonging to this group i and factor p j The number of each can range from several tens to around one hundred.

[0080] Subsequently, in step S13 following step S12, CPU3 assigns the customer ID (target person n) to each latent class z. i The argument i) and factor ID (factor p) j The argument j) is distributed. This distribution allows the matrix data 49 to be classified into at least two or more clusters, as shown in Figure 6.

[0081] Here, CPU3, for example, based on the operation input from the operator of computer 1, generates one or more factors p that constitute each cluster Clz. j each cluster Cl z This can be set as the name (signboard). This name is set for each cluster Cl z Among the constituent factors, the factor p has the highest probability of the flag being 1. j You may select this option, or you may manually select it according to your needs.

[0082] For example, in Figure 6, the factor p has a high probability of the flag being 1. j For example, in the first cluster Cl1, p 16 and p 18 In the second cluster Cl2, p7 and p 11 The third cluster Cl3 is selected, and p2 and p 12 The following will be selected: signboard and factor p j Please also refer to Figure 7 for the selection.

[0083] On the other hand, if this disclosure is made for the purpose of "wanting to know the factors that determine whether a person owns a product from company A or a product from company B," then the first cluster Cl1 to which factor p1 belongs may be named "A user" or "A-oriented," the third cluster Cl3 to which factor p2 belongs may be named "B user" or "B-oriented," and the second cluster Cl2 to which none of factors p1 to p3 belong may be named "other users."

[0084] Furthermore, a flag (e.g., p1) indicating whether or not a specific item is represented is used as factor p j If included, the number of subjects n classified into each latent class z i For example, the first cluster Cl1 includes subjects n8, n 19 and n 21 As shown, this includes those who actually own the item (product of Company A) (those for whom the value of p1 is 1). Below are the names of such individuals n. i These may be referred to as "major A company users." In the example shown in Figure 6, the subjects are n8,n 19 ,n 21 These correspond to major users of Company A.

[0085] Furthermore, the subjects n are classified into each latent class z. i In addition to the aforementioned main A company users, this includes the target individuals n of the first cluster Cl1. 18 This also includes individuals who belong to the first cluster Cl1, labeled "User A," but do not own the item (those whose p1 value is 0). The following describes such individuals n. i This is sometimes referred to as a "potential A company user." In the example shown in Figure 6, the target person n 18 This corresponds to a potential user of Company A.

[0086] Furthermore, the subjects n are classified into each latent class z. i This includes not only major A Company users and potential A Company users, but also individuals who own A Company products but belong to clusters other than "A users," such as target person n1 in the second cluster Cl2, which is labeled as "other users." The following are examples of such target persons n iThis is sometimes referred to as an "active A company user." In the example shown in Figure 6, subject n1 corresponds to an active A company user.

[0087] In the following, for example, with respect to the third cluster Cl3 to which factor p2, which indicates whether or not a person owns a product from company B, belongs, the terms "major B company users," "potential B company users," and "actual B company users" may be used in the same way. The cluster Cl outside the diagram includes factor p3, which indicates whether or not a person owns a product from company C. z The same applies to this matter.

[0088] Next, in step S14, which follows step S13, the CPU 3 stores matrix data 49, in which customer IDs and factor IDs are rearranged for each latent class z, as cluster data 59 in RAM 7 or HDD 9. In other words, the cluster data 59 referred to here is none other than the matrix data 49 after clustering, as shown in the lower part of Figure 6. The stored cluster data 59 is then read as needed in subsequent processes such as the analysis target extraction step. Once step S14 is completed, the control process returns from the flow exemplified in Figure 4 and proceeds to step S2 in Figure 3.

[0089] (Step for selecting analysis targets) Figure 8 is a flowchart illustrating the steps of the analysis target selection process. Figure 9A is a diagram illustrating the basic concepts of the analysis target selection process.

[0090] Here, the flowchart illustrated in Figure 8 shows the process performed in step S2 of Figure 3. That is, when the control process proceeds to step S2 in Figure 3, the CPU 3 will execute steps S21-S24 of Figure 8 in order.

[0091] The step of selecting subjects for analysis involves identifying subjects n belonging to a specific latent class (hereinafter also simply referred to as "specific class") z' in the clustered matrix data 49, i.e., the cluster data 59. i Each of these is used as a base, and the target person n i Factor p assigned to each jA multidimensional vector X with the values ​​of each basis as its components. z’,j The total M factors p j At least some of these are configured to be generated by CPU3.

[0092] Specifically, in step S21 of Figure 8, the CPU 3 reads the cluster data 59. As mentioned above, the cluster data 59 represents matrix data 49 in which the customer ID and factor ID are sorted for each latent class z.

[0093] Next, in step S22, which follows step S21, the CPU 3 accepts the selection of a specific class z' from among multiple potential classes z. This selection may be accepted, for example, based on an operation input from the operator of computer 1, or it may be read from setting data containing the specific class z' in advance from HDD 9 or the like.

[0094] In this embodiment, as an example of a specific class z', the first cluster Cl1 shown in Figures 6 and 9A, etc., i.e., "User A" with z=1, is selected.

[0095] Next, in step S23, which follows step S22, CPU3 uses customer IDs belonging to a specific class z' as a base and factors p assigned to each customer ID j A multidimensional vector X with the values ​​of each basis as its components. z’,j This generates a multidimensional vector X. z’,j The dimension d is the number of subjects n belonging to a specific class z'. i This will coincide with the number d.

[0096] Also, multidimensional vector X z’,j Factor p considered in the generation j There are at least three, preferably four or more factors p. j Of these, two different factors p j These are respectively the "first objective factor p f " and "Second objective factor p s It is referred to as "..."

[0097] Also, among the at least three or more factors p j there are a first target factor p f and a second target factor p s and in addition, one or more factors p j belonging to a specific class z' are included. Hereinafter, one or more factors p j belonging to a specific class z' are referred to as "comparative factors p j ". Note that the specific class z' can be selected from the latent classes z obtained by the PLSA step, among which at least one of the first target factor p f and the second target factor p s does not belong.

[0098] In the example shown in FIG. 9A, the first cluster Cl1 with z' = 1 is selected as the specific class to which one or more comparative factors p j " belong, the first cluster Cl1 with z = 1 is selected as the latent class to which the first target factor p f belongs, and the third cluster Cl3 with z = 3 is selected as the latent class to which the second target factor p s belongs. For these selections, also refer to FIG. 7.

[0099] For example, in the example shown in FIG. 9A, subjects n i such as n8, n 18 , n 19 and n 21 belonging to the first cluster Cl1 as a specific class serve as the basis of the multidimensional vector X 1,j . In this case, the multidimensional vector X 1,j is four-dimensional (i.e., d = 4).

[0100] As described above, when the factor p1 belonging to the first cluster Cl1 is taken as the first target factor p f and the factor p3 belonging to the third cluster Cl3 is taken as the second target factor p s , the corresponding multidimensional vectors X 1,j are respectively X 1,1 =(1,0,1,1) X 1,2 =(0,1,0,1) It can be expressed as follows. In this case, the first objective factor p f This serves as a flag indicating whether or not the user possesses Company A's product as a specified item, and is the second objective factor p s This flag indicates whether or not the user possesses a B Company product that is a different item from the specified item.

[0101] On the other hand, the first objective factor p f and the second objective factor p s Other factors p j For example, each factor p belonging to the first cluster Cl1 j The corresponding multidimensional vector X 1,j teeth, X 1,16 =(1,1,1,1) X 1,18 =(1,1,1,1) It can be expressed as follows.

[0102] Next, in step S24, which follows step S23, the CPU3 generates the multidimensional vector X in step S23. z’,j This is stored in RAM7 or HDD9. The multidimensional vector X that is then stored is then stored. z’,j This data is read as needed in subsequent processes such as the dimensionality reduction step. Once step S24 is completed, the control process returns from the flow illustrated in Figure 8 and proceeds to step S3 in Figure 3.

[0103] (Dimensional compression step) Figure 10 is a flowchart illustrating the steps of the dimensionality reduction process.

[0104] Here, the flowchart illustrated in Figure 10 shows the process performed in step S3 of Figure 3. That is, when the control process proceeds to step S3 in Figure 3, the CPU 3 will execute steps S31-S33 of Figure 10 in order.

[0105] The dimensionality reduction step involves CPU3 inputting a multidimensional vector Xz’,j By applying the t-SNE method to the multidimensional vector X, z’,j a 2D or 3D low-dimensional vector x z’,j It is configured to perform dimensionality reduction.

[0106] Specifically, in step S31 of Figure 10, CPU3 generates a multidimensional vector X z’,j Load the information.

[0107] Next, in step S32, which follows step S31, the CPU3 reads the multidimensional vector X in step S31. z’,j The t-SNE method is applied to the d-dimensional multidimensional vector X. For example, in high-dimensional space, the distance between vector data is measured using a scale based on a multivariate normal distribution, and in low-dimensional space, the distance between vector data is measured using a scale based on a t-distribution with 1 degree of freedom. Then, CPU3 performs dimensionality reduction by minimizing the Kullback-Leibler divergence between the two distributions. By applying the t-SNE method, the d-dimensional multidimensional vector X z’,j This is a 2D or 3D low-dimensional vector x z’,j It can be converted to this.

[0108] In this embodiment, a two-dimensional low-dimensional vector x z’,j Assume that it has been transformed into a multidimensional vector X. z’,j Number of items (factors to consider p) j The number of x is a low-dimensional vector x z’,j It is the same number as [number of items].

[0109] Next, in step S33, which follows step S32, the CPU3 generates the low-dimensional vector x in step S32. z’,j This is stored in RAM7 or HDD9. The low-dimensional vector x stored in this way z’,j This data is read as needed in subsequent processes such as the vector visualization step. Once step S33 is completed, the control process returns from the flow illustrated in Figure 10 and proceeds to step S4 in Figure 3.

[0110] Note that the low-dimensional vector x obtained by the flow shown in Figure 10 is a low-dimensional vector. z’,j This includes the first objective factor p mentioned above. f Corresponding low-dimensional vector x z’,j And the second objective factor p s Corresponding low-dimensional vector x z’,j and one or more other comparison factors p j This will include ".

[0111] (Vector visualization step) Figure 11 is a flowchart illustrating the steps of the vector visualization process. Figure 13 is an example of what is visualized by the vector visualization process.

[0112] In this embodiment, all information that can be visualized can be displayed on the display 11, which serves as the display unit. Furthermore, the display unit is not limited to the display 11 directly connected to the computer 1. A display indirectly connected to the computer 1 via a network or the like may also be used as the display unit.

[0113] Here, the flowchart illustrated in Figure 11 shows the process performed in step S4 of Figure 3. That is, when the control process proceeds to step S4 in Figure 3, the CPU 3 will execute steps S41-S46 of Figure 4 in order.

[0114] The vector visualization step involves the first objective factor p f Corresponding low-dimensional vector x z’,j And the second objective factor p s Corresponding low-dimensional vector x z’,j and one or more comparison factors p j Each low-dimensional vector x corresponds to " z’,j The CPU3 is configured to visualize the relative positions of the two elements.

[0115] In particular, in the vector visualization step according to this embodiment, the first objective factor p f Corresponding low-dimensional vector xz’,j and one or more comparison factors p j Low-dimensional vector x corresponding to each of " z’,j The first distance represents the Euclidean distance between and the second objective factor p s Corresponding low-dimensional vector x z’,j and one or more comparison factors p j Low-dimensional vector x corresponding to each of " z’,j The system is configured so that a second distance, which represents the Euclidean distance between the two points, is visualized and determined by the CPU3.

[0116] Specifically, in step S41 of Figure 11, CPU3 processes each low-dimensional vector x z’,j Load the information.

[0117] Next, in step S42, which follows step S41, CPU3 processes the first objective factor p f And the second objective factor p s The operation accepts the determination of the first and second objective factors p. ff ,p s At least one of these may be determined when selecting the specific class z' as shown in step S22, or it may be determined during the processing shown in step S23.

[0118] Specifically, in step S42, CPU3 determines a factor p belonging to any of the latent classes z. j The first objective factor p f Select one of the other factors p belonging to any of the latent classes z. j The second objective factor p s Select the second objective factor p. s The first objective factor is p f It is preferable that it belongs to a different latent class z. More preferably, a second objective factor p s The corresponding multidimensional vector X z’,j And the first objective factor p f The multidimensional vector X corresponding to the above z’,j These are mutually orthogonal.

[0119] Furthermore, the first objective factor pf As mentioned above, if a flag (factor p1) indicating whether or not one owns a specified item (product of Company A) is selected, the second objective factor p s Preferably, this serves as a flag indicating whether or not the user possesses an item different from the specified item (product of Company A). In this case, it is even more preferable that the item different from the specified item be an item of the same type but from a different manufacturer.

[0120] In the example shown in Figure 6, the second objective factor is p. s Therefore, a flag indicating whether or not the user owns the aforementioned B company product, i.e., factor p2 belonging to the third cluster Cl3, is selected.

[0121] Next, in step S43, which follows step S42, CPU3 processes the first objective factor p f Corresponding low-dimensional vector x z’,j And the second objective factor p s Corresponding low-dimensional vector x z’,j and one or more comparison factors p j The corresponding low-dimensional vector x z’,j And are displayed (mapped) on the display unit, the display 11. When displaying, as shown in Figure 13, each low-dimensional vector x z’,j The starting point can be omitted, and only the ending point can be displayed.

[0122] As illustrated using Figures 5, 6, and 9, the first cluster Cl1 is selected as the specific class z' (i.e., z'=1), and the first objective factor p f Factor p1 of the first cluster Cl1 was selected, and the second objective factor p s Factor p2 of the third cluster Cl3 is selected as such, and one or more comparison factors p in a specific class z' j The factor p of the first cluster Cl1 is considered as " 16 and p 18 The selected option is a two-dimensional low-dimensional vector x 1,j Let's consider the case where the dimensions are compressed to this extent.

[0123] In this case, the comparison factor pj As mentioned above, this is a factor p belonging to a specific class z'. j You can choose from these, or you can choose a factor p belonging to another class z other than the specific class z'. j You can choose from these options.

[0124] In this case, the low-dimensional vector x 1,j The display results are shown in Figure 13. “Pj” in the same figure refers to the factor p j Corresponding low-dimensional vector x 1,j This shows the position coordinates of the endpoint. In other words, “P1” and “P2” in Figure 13 represent the first objective factor p, respectively. f Corresponding low-dimensional vector x 1,1 The position coordinates of the endpoint and the second objective factor p s Corresponding low-dimensional vector x 1,2 This shows the position coordinates of the endpoint.

[0125] Furthermore, “P16” and “P18” in Figure 13 represent the comparison factor p, respectively. j Two factors p as " 16 ,p 18 Corresponding low-dimensional vector x 1,16 ,x 1,18 This shows the coordinates of the endpoint.

[0126] As shown in step S43, each low-dimensional vector x 1,j By visualizing the position coordinates of the endpoint, a low-dimensional vector x can be obtained as shown in the subsequent step S44. 1,j The Euclidean distance between points is also visualized at a level that is easy to understand intuitively. For example, the Euclidean distances between "P16" and "P18" relative to "P1" correspond to the aforementioned "first distance." The Euclidean distances between "P16" and "P18" relative to "P2" correspond to the aforementioned "second distance."

[0127] In step S44, to help visualize the Euclidean distance, the first objective factor p is used, as shown by the dashed line in Figure 13. f P1 corresponding to and the second objective factor p sCircles C11 and C12 centered on P2 corresponding thereto may be displayed. In this case, the comparison factor p j ” that is located inside each of the circles C11 and C12 is determined to be at a short distance from the first target factor p f and / or the second target factor p s . On the other hand, the comparison factor p j ” that is located outside each of the circles C11 and C12 is determined to be at a long distance from the first target factor p f and / or the second target factor p s . The two circles C11 and C12 may have the same diameter.

[0128] Then, in step S45 following step S44, the CPU 3 extracts the comparison factor p f that is relatively short in distance with respect to the first target factor p s and the second target factor p j ”, and the comparison factor p j ” that is relatively long in distance.

[0129] Here, as the comparison factor p j ” that is relatively short in distance, the comparison factor p j ” that is located inside the aforementioned circles C11 and C12 can be extracted. Similarly, as the comparison factor p j ” that is relatively long in distance, the comparison factor p j ” that is located outside the aforementioned circles C11 and C12 can be extracted. When extracting them, the CPU 3 calculates the first distance related to the first target factor p f defined as described above, and the second distance related to the second target factor p s for each comparison factor p j ”.

[0130] Then, in step S46 following step S45, the CPU 3 stores the extraction result in step S45 and the first and second distances related to each extracted comparison factor p j ” in the RAM 7 or the HDD 9. The low-dimensional vector x z’,jThis information is read as needed in subsequent processes such as the factor analysis step. Once step S46 is completed, the control process returns from the flow illustrated in Figure 11.

[0131] Subsequently, the control process proceeds from step S4 to step S5 in Figure 3. In step S5, it is determined whether or not to perform the specific class change step (step S6) shown below. If the determination is YES, the process proceeds to step S7; otherwise, it proceeds to step S6 and executes the specific class change step.

[0132] (Specific class change step) Figure 9B is a diagram illustrating the basic concept of the analysis target extraction step after changing the specific class z'. Figure 14 is a diagram illustrating the content visualized by the second vector visualization step.

[0133] In the specific class change step shown in step S6, the first and second objective factors p f ,p s With the value fixed, perform a change to a specific class z'. Specifically, change the specific class z' from one latent class to another latent class.

[0134] In the examples using Figures 9B and 14, the second cluster Cl2 is assumed to have been newly assigned to specific class z'. Hereafter, the modified specific class may be referred to as the "second specific class" to distinguish it from the original specific class.

[0135] Once the change to the specific class z' is complete, the control process returns to step S2 in Figure 3. Subsequently, the control process reflects the change to the specific class z' and the first and second objective factors p f ,p s With the parameters fixed, the analysis target extraction step (step S2), the dimensionality reduction step (step S3), and the vector visualization step (step S4) are executed again.

[0136] In other words, in this embodiment, the analysis target extraction step (step S2), the dimensionality reduction step (step S3), and the vector visualization step (step S4) are performed for both the two specific classes z' before and after the modification.

[0137] Here, if we refer to each step that is executed again as the second analysis target extraction step, the second dimensionality reduction step, and the second vector visualization step, respectively, in the second analysis target extraction step, the CPU 3 generates a second multidimensional vector for at least some of the multiple factors, using each subject belonging to the second specific class as a basis in the matrix data 49 after clustering, and the values ​​of the factors assigned to each subject as components of each basis.

[0138] In the example using Figure 9B, the second multidimensional vector is "X 2,j This can be expressed as . The second multidimensional vector X in this case 2,j These are subjects n8,n belonging to the first cluster Cl1. 18 ,n 19 ,n 21 Instead of using the second cluster Cl2 as the basis, the subjects n 20 ..., n1 will be the basis.

[0139] Next, in the second dimensionality reduction step, CPU3 applies the t-SNE method to the second multidimensional vector to reduce its dimensionality to a 2- or 3-dimensional low-dimensional vector.

[0140] In the example using Figure 9B, etc., the low-dimensional vector is "x 2,j This can be expressed as follows: The low-dimensional vector x in this case 2,j This refers to subject n belonging to the second cluster Cl2. 20 ...,This will be generated by applying t-SNE to a multidimensional vector based on n1.

[0141] Next, in the second vector visualization step, each low-dimensional vector x obtained corresponding to the second multidimensional vector is...2,j Based on this, CPU3 visualizes the Euclidean distance between the low-dimensional vector corresponding to the first objective factor, the low-dimensional vector corresponding to the second objective factor, and the low-dimensional vector corresponding to one or more comparison factors.

[0142] In this context, the "low-dimensional vector corresponding to the first objective factor" refers to the one obtained in correspondence with the second multi-dimensional vector. That is, in the examples using Figures 9B and 14, etc., the subject n belonging to the second cluster Cl2. 20 ..., n1 is the base, and the first objective factor p f The result obtained by applying t-SNE to a multidimensional vector in which the values ​​of factor p1 are components of each basis vector corresponds to the "low-dimensional vector corresponding to the first objective factor." The same applies to the "low-dimensional vector corresponding to the second objective factor."

[0143] Low-dimensional vector x in the second vector visualization step 3,j The display results are shown in Figure 14. “Pj” in the same figure refers to the factor p j Corresponding low-dimensional vector x 2,j This shows the position coordinates of the endpoint. In other words, “P1” and “P2” in Figure 14 represent the first objective factor p, respectively. f Corresponding low-dimensional vector x 2,1 The position coordinates of the endpoint and the second objective factor p s Corresponding low-dimensional vector x 2,2 This shows the position coordinates of the endpoint.

[0144] Furthermore, “P7” and “P11” in Figure 14 represent the comparison factor p, respectively. j Two factors as "p7,p 11 Corresponding low-dimensional vector x 2,7 ,x 2,11 This shows the coordinates of the endpoint.

[0145] Each low-dimensional vector x 2,jBy visualizing the position coordinates of the endpoint, the first and second distances after changing the specific class z' are visualized in the same way as in the first vector visualization step.

[0146] In the second vector visualization step, similar to the first vector visualization step, to help visualize the Euclidean distance, the first objective factor p is used, as shown by the dashed line in Figure 14. f P1 corresponding to and the second objective factor p s You may also display circles C21 and C22, each centered on P2, corresponding to the given point. In this case, the comparison factor p located inside each circle C21 and C22 is shown. j " is the first objective factor p f or the second objective factor p s It can be considered to be in close proximity to one of the two. Similarly, comparison factor p located outside each circle C21, C22 j " is the first objective factor p f and the second objective factor p s It can be considered to be at a long distance from at least one of them.

[0147] Multidimensional vector X 2,j By changing the basis, the first objective factor p f or the second objective factor p s The comparison factor p is in close proximity to the given factor. j The breakdown of " changes from the example shown in Figure 13.

[0148] Finally, similar to the first vector visualization step, CPU3 calculates the first objective factor p f and the second objective factor p s For each of these, the relative short-range comparison factor p j "and the relative long-range comparison factor p j Extract "and".

[0149] Here, the relatively short-range comparison factor p j As such, the comparison factor p located inside the aforementioned circles C21 and C22 is considered to be j Similarly, the relatively distant comparison factor p can be extracted. jAs the comparison factor p located outside the aforementioned circles C21 and C22 j ” can be extracted. When extracting them, the CPU 3 uses the first target factor p f and calculates the first distance related to it, and the second distance related to the second target factor p s for each comparison factor p j ”.

[0150] (Factor analysis step) FIG. 12 is a flowchart illustrating the procedure of the factor analysis step.

[0151] The factor analysis step shown in step S7 of FIG. 3 is configured to analyze the factors that the values of the first and second target factors p f , p s are separated into 0 and 1 based on the relative positional relationship visualized by the vector visualization step.

[0152] Specifically, in the present embodiment, the CPU 3 first compares the execution result of the vector visualization step among the execution results of the analysis target extraction step (step S2), the dimensionality reduction step (step S3), and the vector visualization step (step S4) before and after the change of the specific class z' by the specific class change step, and analyzes both to execute the factor analysis step.

[0153] More specifically, the CPU 3 according to the present embodiment first arranges the comparison factor p j ” searched (extracted) before the change of the specific class z' in ascending order of proximity to the first and second target factors p f , p s (step S71).

[0154] -Details of step S71- First, the CPU 3, based on the visualization result obtained in the first vector visualization step (specifically, the lengths of the first and second distances), selects one or more comparison factors p j ” from among them, and selects the first and second target factors p f , ps We will search for factors that contributed to the value of [the variable].

[0155] In this case, CPU3 uses one or more comparison factors p j "of which, the first objective factor p f For this, the short-range and second objective factor p s The comparison factor p is far away from the given point. j Explore ".

[0156] In this case, the first objective factor p f Factor p that contributed to the value j The search for comparison factor p is located inside the first circle C11 and outside the second circle C12. j The list is compiled, and the first objective factor p f This is done by arranging them in order of proximity to each other.

[0157] In the example shown in Figure 13, the first objective factor p f As such, factor p1 is used to indicate that the person belongs to the first cluster Cl1 and owns products from Company A. In this case, the first objective factor p f The fact that it is close to factor p1 allows for the tentative interpretation that "it is a factor that has a high correlation with factor p1 (a factor that could be a trigger for owning Company A's product)."

[0158] Conversely, the first objective factor p f The fact that it is far from A company allows for the tentative interpretation that "it is unlikely to be a factor that would motivate someone to own A company's products."

[0159] That is, the low-dimensional vector x illustrated in Figure 13 1,j This is generated based on a basis that considers both the primary A Company users who actually own A Company products and the potential A Company users who belong to the first cluster Cl1 (i.e., who have similar values ​​to primary A Company users) but do not own A Company products. The low-dimensional vector x thus generated is 1,jBy analyzing the distance between this factor and factor p1, which indicates that the person actually owns a product from company A, we can identify the factor p belonging to the first cluster Cl1. j From among these, the factor p that distinguishes major A company users from potential A company users. j In other words, factor p could be a factor that leads to owning a product from company A. j It becomes possible to explore.

[0160] Specifically, CPU3 uses one or more comparison factors p j "of which, the first objective factor p f For long distance and second objective factor p s The comparison factor p is in close proximity to the given factor. j Explore ".

[0161] In this case, the second objective factor is p s Factor p that contributed to the value j The search for comparison factor p is located inside the second circle C12 and outside the first circle C11. j We will list the following, and then use that list as the second objective factor p s This can be done by arranging them in order of proximity to each other.

[0162] In the example shown in Figure 13, the second objective factor is p s As such, factor p2 is used to indicate that the individual belongs to the third cluster Cl3 and owns products from Company B. In this case, the second objective factor p s The fact that it is close to factor p1 allows for the tentative interpretation that "it is a factor that has a low correlation with factor p1 and a high correlation with factor p2 (a factor that could be a trigger for owning Company B's products)."

[0163] Furthermore, the second objective factor p s The fact that it is far from the company allows for the tentative interpretation that "it is unlikely to be a factor that would motivate someone to own a product from company B."

[0164] That is, the low-dimensional vector x illustrated in Figure 13 1,jAs mentioned above, this is generated based on a base that considers both major and potential users of Company A. The low-dimensional vector x generated in this way 1,j By analyzing the distance between this factor and factor p2, which indicates that the user owns a product from company B rather than company A, we can identify the factor p belonging to the first cluster Cl1. j From among these, the factor p that distinguishes major A company users from potential A company users j In other words, factors p that led to owning products from other companies, even while possessing values ​​that favor Company A's products. j It becomes possible to explore.

[0165] First objective factor p f and the second objective factor p s By setting both, the factor p that distinguishes major A company users from potential A company users is j This makes it possible to explore the subject from multiple perspectives.

[0166] In the example in Figure 13, the comparison factor p 16 ,p 18 It belongs to the first cluster Cl1, but is located inside both the first circle C11 and the second circle C12. In contrast, the comparison factor p belonging to the first cluster Cl1 16 ,p 18 This can be tentatively interpreted as meaning that "it cannot be said to be a deciding factor in whether one owns a product from company A or a product from company B."

[0167] Subsequently, CPU3 searches for (extracts) comparison factors p after the change of the specific class z'. j "the first and second objective factors p f ,p s Sort them in order of proximity (step S72).

[0168] -Details of Step S72- Specifically, in step S72, first, based on the content visualized after the change of a specific class z', the comparison factor p located inside or near circle C21 is selected. j The list is compiled, and the first objective factor p fArrange them in order of closest distance (first distance) to each other.

[0169] That is, the low-dimensional vector x illustrated in Figure 14 2,j This is generated based on a foundation that takes into account users of other companies. Users of other companies may include apparent users of Company A who have the same values ​​as users of other companies but have come to own Company A's products instead of other companies' products, and apparent users of Company B who have come to own Company B's products.

[0170] Therefore, the low-dimensional vector x generated in this way 2,j By analyzing the distance between this factor and factor p1, which indicates that the person actually owns a product from company A, we can identify the factor p belonging to the second cluster Cl2. j From among them, the factor p that distinguishes whether or not someone is an active user of Company A. j , in other words, factors p that could be the trigger for owning Company A's products j It becomes possible to explore.

[0171] Therefore, in step S72 of this embodiment, the CPU3 compares the visualization results before and after the change of the specific class z' based on the visualization results from the second vector visualization step (the length of the second distance visualized after the change of the specific class z'), while considering multiple comparison factors p j From among these, the second objective factor p s We will search for factors that contributed to the value of [the variable].

[0172] For example, based on the content visualized after a change in a specific class z', a comparison factor p located inside or near circle C32. j We will list the following, and then use that list as the second objective factor p s The results are sorted in order of proximity to the target, and compared with the search results before the change to the specific class z'.

[0173] That is, the low-dimensional vector x illustrated in Figure 14 2,j As mentioned above, this is generated based on a basis that may include other apparent users of Company A or apparent users of Company B. The low-dimensional vector x thus generated 2,jBy analyzing the distance between factor p2 and factor p2, we can determine which factor p2 belongs to the second cluster Cl2. j From among these, the factor p that led to becoming an active user of Company A or an active user of Company B. j In other words, factor p can be a factor that differentiates potential B company users from actual A company users. j It becomes possible to extract it.

[0174] Also, similar to step S71, CPU3 uses one or more comparison factors p j "of which, the first objective factor p f For this, the short-range and second objective factor p s Long-range P s The comparison factor p j The CPU3 searches for ". Furthermore, CPU3 searches for one or more comparison factors p j "of which, the first objective factor p f For long distance and second objective factor p s The comparison factor p is in close proximity to the given factor. j Explore ".

[0175] In the example in Figure 14, the comparison factors p7 and p belonging to the second cluster Cl2 are shown. 11 Among the comparative factors p 11 It is located outside both the first circle C11 and the second circle C12. In contrast, the comparison factor p belonging to the second cluster Cl2 11 One possible interpretation is that "if it doesn't lead to owning a product from company A, it won't lead to owning a product from company B."

[0176] In contrast, another comparison factor p7 belonging to the second cluster Cl2 is located inside the first circle C11 but outside the second circle C12. This allows for the tentative interpretation that "comparison factor p7 belonging to the second cluster Cl2 could be a deciding factor in whether someone owns Company A's product or Company B's product."

[0177] In other words, in the example shown in the diagram, the comparison factor p7 is the first and second objective factors p f ,ps This can be interpreted as the factor that caused the value to split into 0 and 1. By performing this analysis on multiple (e.g., 3 or more) specific classes z', the first and second objective factors p f ,p s This makes it possible to more reliably determine the factors that caused the value to split into 0 and 1.

[0178] Subsequently, in step S73, which follows step S72, CPU3 lists the search results from step S71 and step S72. At this time, it displays factors that could be the deciding factor in whether to own a product from company A or a product from company B, as shown in comparison factor p7 mentioned above. With this, the control process completes the flow shown in Figure 12 and returns from the flow shown in Figure 3.

[0179] <Effects, etc.> As described above, according to the embodiment, the target person n belonging to a specific class z' i Each of these is used as a base, and the target person n i Factor p assigned to each j A multidimensional vector X with the values ​​of each basis as its components. z’,j By applying the t-SNE method to the multidimensional vector X, z’,j to a low-dimensional vector x z’,j Dimensionality is reduced (see steps S1-S3 in Figure 3).

[0180] As explained using Figures 9A and 9B, etc., the low-dimensional vector x z’,j In visualizing this, the first and second objective factors p belonging to either latent class z are considered. f ,p s And other comparative factors p belonging to a specific class z' j We will make a comparison with the latter comparison factor p. j For a specific class z' related to ", change it from one latent class to another, and compare the content visualized by the vector visualization step before and after the change.

[0181] In other words, as explained using Figures 13 and 14, the comparison factor pj By changing the specific class z' to which " belongs" and performing visualization using a vector visualization step in each specific class z', the first or second objective factor p f ,p s Corresponding low-dimensional vector x z’,j and the comparison factor p j The corresponding low-dimensional vector x z’,j The differences can then be clarified. With the differences clarified, each objective factor p f ,p s Comparison factor p that is close to or far from j By exploring ", two objective factors p f ,p s This makes it possible to more clearly identify the factors that can cause the value to split between 0 and 1 than before.

[0182] Furthermore, the comparison factor p j Changing the specific class z' to which " belongs is equivalent to changing the multidimensional vector X z’,j The base subject n i This is equivalent to changing the objective factor p in each specific class z'. f ,p s A comparison factor p that is strongly correlated with j By exploring ", the first and second objective factors p f ,p s This allows us to understand the factors that caused the value to split between 0 and 1 from a wider range of perspectives than before.

[0183] Furthermore, as explained using Figures 13 and 14, the factor analysis step is configured to explore factors based on the length of each Euclidean distance. This configuration makes it possible to visualize and explore in a more intuitively understandable format. This allows for the identification of the first and second objective factors p f ,p s This is advantageous in understanding the factors that caused the value to split into 0 and 1.

[0184] Furthermore, as explained using Figures 13 and 14, the first objective factor p fComparison factors that are close to or far from the first objective factor p s Comparison factor p that is close to or far from j "By exploring the two objective factors p f ,p s This allows for a more accurate analysis of the factors that caused the values ​​to diverge.

[0185] Furthermore, as is evident from the fact that each block matrix obtained by clustering generally corresponds to a latent class z, a low-dimensional vector x corresponds to a factor belonging to the same latent class z. z,j They show similar tendencies to one another.

[0186] In contrast, as illustrated in Figure 14, etc., the first and / or second objective factor p f ,p s The latent class z to which it belongs, and the comparison factor p j By making it different from the specific class z' to which " belongs, a low-dimensional vector x corresponding to each factor is created. z’,j The differences between them can be clarified. With the differences clarified, the first and / or second objective factor p f ,p s A comparison factor p that is close to or far from the target. j By exploring the objective factor p f ,p s This makes it possible to more clearly identify the factors that may have caused the values ​​to become 0 and 1.

[0187] Furthermore, the objective factor p f ,p s The latent class z to which it belongs, and the comparison factor p j The comparison factor p is set to be different from the specific class z' to which " belongs". j The search for “the target factor p” was conducted, and although it was classified into different latent classes at the stage of the PLSA method, it was still determined that the target factor p f ,p s A comparison factor p that is strongly correlated with j This is equivalent to exploring ". This is knowledge that cannot be obtained with the conventional PLSA method, and the first and second objective factors p f ,p sThis allows us to understand the factors that caused the value to become 0 or 1 from a wider range of perspectives than before.

[0188] Furthermore, as illustrated in Figure 9A, the first objective factor p f The basis for constructing the multidimensional vector corresponding to this is the number of people who actually own Company A's products (for example, n8 19 ,n 21 This will include the following. By performing the aforementioned visualization on the low-dimensional vectors generated based on these multidimensional vectors, it becomes possible to understand the factors that led to owning or not owning Company A's products from a wider range of perspectives than before.

[0189] Here, for example, the second objective factor p s However, the first objective factor p f If it was a flag indicating whether or not they owned a competing product, then the first and second objective factors p f ,p s By exploring the factors that caused the result to split into 0 and 1, it becomes possible to identify areas for improvement and selling points of the aforementioned competing product. By analyzing these findings, the first objective factor p f This allows for the clarification of areas for improvement in products that correspond to this.

[0190] Furthermore, as explained using Figure 12, etc., the first objective factor p f The latent class to which it belongs (z=1 in the diagram) and the second objective factor p s With the latent class to which the subject belongs (z=3 in the example diagram) fixed, we perform an analysis by changing a specific class from z'=1 to z'=2. The analysis before and after the change are performed using the subject n used to generate the low-dimensional vector. i The breakdown will differ.

[0191] Therefore, subject n i By comparing the results of two analyses with different breakdowns, the target factor p f This allows us to understand the factors that caused the value to be 0 or 1 from a wider range of perspectives.

[0192] <Additional processing> In the above embodiment, the first and second objective factors p f ,p s While we have described a case where z'=1 is changed from one specific class to another specific class, with p1 belonging to the first cluster Cl1 and p2 belonging to the third cluster Cl3, respectively, this disclosure is not limited to such a case. We may also change z'=2, another specific class, to yet another specific class and compare the visualizations obtained before and after the change.

[0193] For example, consider the case where z'=2 is changed to z'=3, which is another specific class. In this case, computer 1 considers the first and second objective factors p f ,p s With each of these fixed, a third step of extracting analysis targets for another specific class, a third step of dimensionality reduction, and a third step of vector visualization are then performed.

[0194] Figure 15 illustrates the visualization content (visualization content from the third vector visualization step) for yet another specific class (z'=3). By considering Figure 15 in addition to Figures 13 and 14, it becomes possible to perform an analysis from a more multifaceted perspective.

[0195] In the above embodiment, the first objective factor p is defined as a specific class. f We use the latent class z'=1 to which it belongs, and the first and second objective factors p as other specific classes. f ,p s The present disclosure was constructed to use a latent class z'=3 to which neither of the two belonged, but the present disclosure is not limited to such a construction.

[0196] For example, the first objective factor p as a specific class f While using the latent class to which it belongs, the second objective factor p is another specific class. sA latent class to which it belongs may also be used. In this case, for example, one specific class and another specific class may be set as a cluster with high health and a cluster with low health, respectively, and the first and second objective factors p f ,p s Each of these is associated with a factor called "high vision" belonging to a cluster of high health levels. j And a factor called "low vision" belonging to a low health cluster p j You may also set it to either.

[0197] By applying this disclosure to such settings, target person n i This method makes it possible to identify factors that distinguish between "high vision" and "low vision" from perspectives that cannot be reached with conventional PLSA and t-SNE methods.

[0198] Furthermore, as shown in Figure 14, for example, one specific class and another specific class are defined by the first and second objective factors p, respectively. f ,p s You may also select from latent classes to which does not belong. For example, you can set one specific class and another specific class to the aforementioned "A-oriented" and "B-oriented" clusters, respectively, and then the first and second objective factors p f ,p s Factor p belonging to "Company C-oriented" and "Other Users," respectively. j You may set it to that.

[0199] By applying this disclosure to such settings, target person n i The factors that led to someone owning a product from Company C are the factors that constitute "Company A orientation" and "Company B orientation". j Based on this, it becomes possible to derive insights from perspectives that cannot be reached with conventional PLSA and t-SNE methods.

[0200] Other embodiments The above embodiment exemplifies an implementation by a single computer 1, but this disclosure is not limited to that example. The information processing method and information processing program 29 relating to this disclosure may be executed using multiple computers 1. Furthermore, the computer 1 in this disclosure also includes parallel computers such as supercomputers and PC clusters. [Explanation of Symbols]

[0201] 1. Computer (information processing device) 3 CPU (arithmetic unit) 7 RAM (memory section) 9 HDD (Storage Unit) 11. Display (Display Unit) 18 Storage medium 29 Information Processing Programs 49 Matrix Data S1PLSA Step S2 Step for extracting analysis targets S3 Dimensional Compression Step S4 Vector Visualization Step S7 Factor Analysis Step

Claims

1. An information processing method that uses a computer equipped with a program execution unit to analyze matrix data formed by matrixing multiple subjects and multiple factors consisting of values ​​of 0 or 1 assigned to each of the multiple subjects, and visualizes the results of the analysis, The calculation unit applies the PLSA method to the matrix data in a PLSA step, which clusters the matrix data so that it approaches a block diagonal matrix consisting of block matrices labeled by different latent classes. In the matrix data after clustering, the calculation unit generates a multidimensional vector for at least some of the multiple factors, with each analysis subject belonging to a specific latent class as a basis, and the values ​​of the factors assigned to each analysis subject as components of each basis, in the analysis subject extraction step, The calculation unit applies the t-SNE method to the multidimensional vector in a dimensionality reduction step, thereby compressing the multidimensional vector into a two-dimensional or three-dimensional low-dimensional vector. If two different factors from at least some of the aforementioned factors are designated as the first and second objective factors, and one or more other factors belonging to the specific latent class are designated as comparison factors, the calculation unit visualizes the relative positional relationship between the low-dimensional vector corresponding to the first objective factor, the low-dimensional vector corresponding to the second objective factor, and each low-dimensional vector corresponding to the one or more comparison factors in a vector visualization step. The system includes a factor analysis step that analyzes the factors that caused the values ​​of the first and second objective factors to be separated into 0 and 1 based on the relative positional relationship visualized by the vector visualization step, With the first and second objective factors fixed, the specific latent class is changed from one latent class to another, and the analysis target extraction step, the dimensionality reduction step, and the vector visualization step are performed for both the specific latent class before and after the change, and the result of the vector visualization step is compared before and after the change to perform the factor analysis step. An information processing method characterized by the following:

2. In the information processing method described in claim 1, In the aforementioned vector visualization step, A first distance representing the Euclidean distance between the low-dimensional vector corresponding to the first objective factor and the low-dimensional vector corresponding to each of the one or more comparison factors, The calculation unit determines a second distance, which represents the Euclidean distance between the low-dimensional vector corresponding to the second objective factor and the low-dimensional vector corresponding to each of the one or more comparison factors. In the aforementioned factor analysis step, Based on the length of the first and second distances, the factors that contributed to the values ​​of the first and second objective factors are searched for from among the one or more comparison factors. An information processing method characterized by the following:

3. In the information processing method described in claim 2, In the factor analysis step described above, among the one or more comparison factors, A comparison factor that is close to the first objective factor and far from the second objective factor, Search for at least one of the following: a comparison factor that is far from the first objective factor and close to the second objective factor. Based on the search results, we will analyze the factors that caused the values ​​of the first and second objective factors to be separated into 0 and 1. An information processing method characterized by the following:

4. In the information processing method described in claim 3, The aforementioned specific latent class is selected from the latent classes obtained by the PLSA step, from among the latent classes to which at least one of the first objective factor and the second objective factor does not belong. An information processing method characterized by the following:

5. In the information processing method described in any one of claims 1 to 4, The first objective factor is a flag indicating whether or not a predetermined item is owned. The second objective factor is a flag indicating whether or not the person possesses an item different from the predetermined item, The aforementioned specified article and the aforementioned other article are articles of the same type from different manufacturers. An information processing method characterized by the following:

6. An information processing device comprising a computer equipped with an arithmetic unit for executing a program, which analyzes matrix data obtained by matrixing multiple subjects and multiple factors consisting of values ​​of 0 or 1 assigned to each of the multiple subjects, and visualizes the results of the analysis, The calculation unit applies the PLSA method to the matrix data, and the PLSA means clusters the matrix data so that it approaches a block diagonal matrix consisting of block matrices labeled by different latent classes. In the matrix data after clustering, the analysis target extraction means generates a multidimensional vector for at least some of the multiple factors, with each analysis target belonging to a specific latent class as a basis, and the values ​​of the factors assigned to each analysis target as components of each basis, with the calculation unit generating this multidimensional vector. The calculation unit applies the t-SNE method to the multidimensional vector, thereby compressing the multidimensional vector into a two-dimensional or three-dimensional low-dimensional vector. If two different factors from at least some of the aforementioned factors are designated as the first and second objective factors, and one or more other factors belonging to the specific latent class are designated as comparison factors, then the calculation unit visualizes the relative positional relationship between the low-dimensional vector corresponding to the first objective factor, the low-dimensional vector corresponding to the second objective factor, and each low-dimensional vector corresponding to the one or more comparison factors, using vector visualization means. The system includes a factor analysis means that analyzes the factors that cause the values ​​of the first and second objective factors to be separated into 0 and 1 based on the relative positional relationship visualized by the vector visualization means, With the first and second objective factors fixed, the specific latent class is changed from one latent class to another, and the analysis target extraction means, the dimensionality reduction means, and the vector visualization means are executed on both the specific latent class before and after the change. The results of the vector visualization means are then compared before and after the change, and the factor analysis means is executed. An information processing device characterized by the following:

7. An information processing program that, when executed by a computer equipped with a program execution unit, analyzes matrix data formed by matrixing multiple subjects and multiple factors consisting of values ​​of 0 or 1 assigned to each of the multiple subjects, and visualizes the results of the analysis, To the aforementioned computer, The calculation unit applies the PLSA method to the matrix data in a PLSA step, which clusters the matrix data so that it approaches a block diagonal matrix consisting of block matrices labeled by different latent classes. In the matrix data after clustering, the calculation unit generates a multidimensional vector for at least some of the multiple factors, with each analysis subject belonging to a specific latent class as a basis, and the values ​​of the factors assigned to each analysis subject as components of each basis, in the analysis subject extraction step, The calculation unit applies the t-SNE method to the multidimensional vector in a dimensionality reduction step, thereby compressing the multidimensional vector into a two-dimensional or three-dimensional low-dimensional vector. If two different factors from at least some of the aforementioned factors are designated as the first and second objective factors, and one or more other factors belonging to the specific latent class are designated as comparison factors, the calculation unit visualizes the relative positional relationship between the low-dimensional vector corresponding to the first objective factor, the low-dimensional vector corresponding to the second objective factor, and each low-dimensional vector corresponding to the one or more comparison factors in a vector visualization step. Based on the relative positional relationship visualized by the vector visualization step, perform a factor analysis step to analyze the factors that caused the values ​​of the first and second objective factors to be separated into 0 and 1. To the aforementioned computer, With the first and second objective factors fixed, the specific latent class is changed from one latent class to another, and the analysis target extraction step, the dimensionality reduction step, and the vector visualization step are performed for both the specific latent class before and after the change. The factor analysis step is then performed by comparing the results of the vector visualization step before and after the change. An information processing program characterized by the following features.

8. The system stores the information processing program described in claim 7. A computer-readable storage medium characterized by the following features.